W tej chwili wdrażam usługę sieci web wiosny przy użyciu jaxb. Ale kiedy próbuję skonsumować serwis internetowy, napotkano błąd. Próbowałem przeszukać sieć, ale nie mogłem znaleźć możliwej przyczyny źródłowej. Poniżej pokazuję moje kody źródłowe.WebServiceTransportException: Not Found [404]
aplikacji 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>
Klient usługa
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;
}
}
definicja mojego serwisu WWW
<bean id="schema" class="org.springframework.xml.xsd.SimpleXsdSchema">
<property name="xsd" value="/WEB-INF/eightball.xsd" />
</bean>
A poniżej jest stos błąd:
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)
Proszę sprawdzić folder lib, do którego zawarłeś ten jar spring-oxm-1.5.6.jar? – Ami
@ILLA - tak, sprężyna OXM-1.5.6.jar jest to również jako słoik pola poniżej: \ n sprężyny OXM-tygrysa wiosenne WS wiosenne WS-core wiosenne WS-wkładka skutecznie tygrys – plandi07
@ILLA - znasz stronę, która zapewnia pełny samouczek/implementację z tworzenia wiosennych serwisów internetowych z JAXB do czasu konsumowania usługi do klienta. Trochę mylę się z tym, w jaki sposób klient będzie korzystał z usługi sieciowej wiosennej ... Jestem currenlty w projekcie, który musi eksponować istniejącą warstwę usługi aplikacji Spring Mvc, aby inna aplikacja mogła z niej korzystać. dowolny pomysł? Z góry dziękuję. – plandi07