Загрузка изображения в Google appengine с использованием Robospice с Retrofit

Я пытаюсь использовать Robospice с Retrofit для загрузки изображения в мой интернет-магазин приложений Google. Я могу получить URL для загрузки, предоставленный GAE, но когда я пытаюсь отправить URL с изображением как POST Multipart, я получаю исключение:

E // RequestRunner.java: 134 (24689): Thread-3363 Исключительная ситуация при выполнении запроса сети: null

E // RequestRunner.java: 134 (24689): retrofit.RetrofitError

E // RequestRunner.java: 134 (24689): at retrofit.RestAdapter $ RestHandler.invokeRequest (RestAdapter.java:343)

E // RequestRunner.java: 134 (24689): at retrofit.RestAdapter $ RestHandler.invoke (RestAdapter.java:222)

E // RequestRunner.java: 134 (24689): в $ Proxy0.uploadImage (собственный метод)

E // RequestRunner.java: 134 (24689): в ginger.connexus.network.UploadImage.loadDataFromNetwork (UploadImage.java:24)

E // RequestRunner.java: 134 (24689): в ginger.connexus.network.UploadImage.loadDataFromNetwork (UploadImage.java:1)

E // RequestRunner.java: 134 (24689): на com.octo.android.robospice.request.CachedSpiceRequest.loadDataFromNetwork (CachedSpiceRequest.java:45)

E // RequestRunner.java: 134 (24689): на com.octo.android.robospice.request.RequestRunner.processRequest (RequestRunner.java:130)

E // RequestRunner.java: 134 (24689): на com.octo.android.robospice.request.RequestRunner $ 1.run (RequestRunner.java:197)

E // RequestRunner.java: 134 (24689): at java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:390)

E // RequestRunner.java: 134 (24689): на java.util.concurrent.FutureTask.run (FutureTask.java:234)

E // RequestRunner.java: 134 (24689): at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1080)

E // RequestRunner.java: 134 (24689): at java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:573)

E // RequestRunner.java: 134 (24689): at java.lang.Thread.run (Thread.java:841)

D // RequestProgressManager.java: 75 (24689): отправка прогресса завершена

Мой интерфейс API

public interface MyApi {
    @Multipart
    @POST("/{uploadurl}")
    MyImage uploadImage(
            @Path("uploadurl") String uploadurl,
            @Part("stream") long streamId,
            @Part("image") TypedFile image);
}

My Retrofit Gson Spice Service

public class MyService extends RetrofitGsonSpiceService {

    private final static String BASE_URL = "theinternet";

    @Override
    protected String getServerUrl() {
        return BASE_URL;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        addRetrofitInterface(MyApi.class);
    }

}

Мой запрос на модификацию специй

public class UploadImage extends RetrofitSpiceRequest<MyImage, MyApi> {

    private final String uploadurl;
    private final long streamId;
    private final TypedFile image;

    public UploadImage(String uploadurl, long streamId, File image) {
            super(MyImage.class, MyApi.class);
            this.uploadurl = uploadurl;
            this.streamId = streamId;
            this.image = new TypedFile("image/jpeg", image);
    }

    @Override
    public MyImage loadDataFromNetwork() throws Exception {
        return getService().uploadImage(uploadurl, streamId, image);
    }
}

Мой вызов выполнить

UploadImage upload = new UploadImage(uploadUrl, streamId, file);
getSpiceManager().execute(upload, new MyImageUploadListener());

Ответы на вопрос(1)

Ваш ответ на вопрос