Весенняя ошибка httpinvoker (org.springframework.remoting.RemoteAccessException) в Google Appengine

Я пытался настроить сервер на основе httpinvoker в моей учетной записи GoogleAppengine. Я следовал инструкциям, приведенным в весенней документации, но, похоже, это не работает. Может кто-нибудь, пожалуйста, просмотрите мой код ниже и дайте мне знать, что не так.

Мой web.xml:

<servlet>
<servlet-name>remoting</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherSe rvlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>remoting</servlet-name>
<url-pattern>/remoting/*</url-pattern>
</servlet-mapping>

Мой remoting-servlet.xml

<bean name="/AccountService" class="org.springframework.remoting.httpinvoker.Ht tpInvokerServiceExporter">
<property name="service" ref="accountService"/>
<property name="serviceInterface" value="app.server.AccountService"/>
</bean>

Мой клиент xml:

<bean id="httpInvokerProxy" class="org.springframework.remoting.httpinvoker.Ht tpInvokerProxyFactoryBean">
<property name="serviceUrl" value="http://<google appid>.appspot.com/remoting/AccountService"/>
<property name="serviceInterface" value="app.server.AccountService"/>
</bean>

Мой код на стороне клиента:

public static void main(String[] args) throws Exception {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("springClientConfig .xml");
AccountService testService = (AccountService) applicationContext.getBean("httpInvokerProxy");
String retVal = testService.getAccounts("test");
System.out.println(retVal);
}

Я продолжаю получать исключение (org.springframework.remoting.RemoteAccessException): не удалось получить доступ к удаленному сервису HTTP invoker по адресу [http://googleappId.appspot.com/remoting/AccountService]; вложенное исключение: java.io.IOException: не получен успешный ответ HTTP: код состояния = 500, сообщение о состоянии = [Внутренняя ошибка сервера]

1 ответ

Проверьте, если app.server.AccountService это класс или интерфейс, это должен быть интерфейс, если это класс, произойдет 500.

Другие вопросы по тегам