Ich implementiere derzeit einen Spring Web Service mit Jaxb. Aber wenn ich versuche, den Web-Service zu konsumieren, der erstellt wurde, ist ein WebServiceTransportException: Not Found [404]
Fehler aufgetreten. Ich habe versucht, im Internet zu suchen, konnte aber keine mögliche Ursache finden. Unten habe ich meine Quellcodes gezeigt.WebServiceTransportException: Not Found [404]
applikations context.xml
<bean
class="org.springframework.ws.server.endpoint.adapter.GenericMarshallingMethodEndpointAdapter">
<constructor-arg ref="marshaller" />
</bean>
<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>com.ph.domain.EightBallRequest</value>
<value>com.ph.domain.EightBallResponse</value>
</list>
</property>
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<bean id="simpleUrlHandlerMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
lazy-init="true">
<property name="mappings">
<props>
<prop key="/test.asp">LandingController</prop>
</props>
</property>
</bean>
<bean name="LandingController" class="com.ph.controller.LandingController">
<property name="stub" ref="eightBallClient"/>
</bean>
Client für webservice
public class EightBallClient extends WebServiceGatewaySupport {
private Resource request;
public void setRequest(Resource request) {
this.request = request;
}
public String AskQuestion(String question) throws IOException {
String responseString = null;
EightBallRequest request = new EightBallRequest();
request.setQuestion(question);
EightBallResponse response = new EightBallResponse();
response = (EightBallResponse) getWebServiceTemplate()
.marshalSendAndReceive(request);
responseString = response.getAnswer().toString();
return responseString;
}
}
Definition meiner Web-Service
<bean id="schema" class="org.springframework.xml.xsd.SimpleXsdSchema">
<property name="xsd" value="/WEB-INF/eightball.xsd" />
</bean>
Und unten ist die Fehler-Stack:
SEVERE: Servlet.service() for servlet dispatcher threw exception
org.springframework.ws.client.WebServiceTransportException: Not Found [404]
at org.springframework.ws.client.core.WebServiceTemplate.handleError(WebServiceTemplate.java:626)
at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:550)
at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:501)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:350)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:344)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:336)
Bitte überprüfen Sie die Lib-Ordner haben Sie dieses Glas Spring-Oxm-1.5.6.jar enthalten? – Ami
@ILLA - ja, feder OXM-1.5.6.jar ist sowie jar Felder umfassen: \ n feder OXM-tiger feder ws ws Federkern Feder-ws-core- Tiger – plandi07
@ILLA - kennen Sie eine Website, die vollständige Tutorial/Implementierung von Frühjahr Web-Service-Erstellung mit JAXB bis zum Verbrauch von Service für den Client bieten. Ich bin etwas verwirrt darüber, wie der Client den Frühling Webservice verbrauchen wird ... Ich bin derzeit auf Projekt, das vorhandene Service-Layer von Federmvc-Anwendung verfügbar machen muss, so dass andere Anwendung es verwenden kann. irgendeine Idee? Danke im Voraus. – plandi07