I've followed the tutorial carefully and was able to access the WSDL from a browser. I'm building the client which seems very simple but the result ends in:
<02.01 09:14:50> <SaajSoapMessageFactory.java:111> <Creating SAAJ 1.2 MessageFactory>
Exception in thread "main" org.springframework.ws.client.WebServiceTransportE xception: Not Found [404]
at org.springframework.ws.client.core.WebServiceTempl ate.handleError(WebServiceTemplate.java:483)
at org.springframework.ws.client.core.WebServiceTempl ate.sendAndReceive(WebServiceTemplate.java:407)
at org.springframework.ws.client.core.WebServiceTempl ate.doSendAndReceive(WebServiceTemplate.java:358)
at org.springframework.ws.client.core.WebServiceTempl ate.sendSourceAndReceiveToResult(WebServiceTemplat e.java:304)
at org.springframework.ws.client.core.WebServiceTempl ate.sendSourceAndReceiveToResult(WebServiceTemplat e.java:289)
at reservationClientSpring.clientTest.main(clientTest .java:17)
This does not appear to be a classpath error and I have not been able to track down a cause (what isn't it finding?). The MessageFactory, MessageSender and DefaultUri are all being injected correctly (ie. wst is initialized). The following is the client code:
private WebServiceTemplate wst = new WebServiceTemplate();
public String call(String message) {
StreamSource source = new StreamSource(new StringReader(message));
StreamResult result = new StreamResult();
wst.sendSourceAndReceiveToResult(source, result);
return result.toString();
}
public void setDefaultUri(String defaultUri) { wst.setDefaultUri(defaultUri); }
public void setMessageFactory(WebServiceMessageFactory messageFactory) { wst.setMessageFactory(messageFactory); }
public void setMessageSender(WebServiceMessageSender messageSender) { wst.setMessageSender(messageSender); }
I have tried both the SAAJ and Axiom message factories, the Spring and Jakarta message senders. The following are the config entries:
<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMe ssageFactory" />
<bean id="clientTest" class="reservationClientSpring.ClientTest">
<property name="defaultUri" value="http://localhost:8080/reservationService"/>
<property name="messageFactory" ref="messageFactory"/>
<property name="messageSender">
<bean class="org.springframework.ws.transport.http.HttpU rlConnectionMessageSender">
<!-- <property name="url" value="http://localhost:8080/reservationService"/> -->
</bean>
</property>
</bean>
Interesting to note that the 'url' property resulted in an error (so I commented it out).


Reply With Quote


