2

I'm using Spring 2.5.6, Spring-ws 1.5.9, and Stripes 1.5.6.

I have a working webservice which was implementing using xml parsing etc. I'll not go into details about this, as I don't think this is the problem.

I'm working on a new ws and found this page quite useful: http://jeromebulanadi.wordpress.com/2010/02/25/basic-spring-web-service-tutorial-from-contract-to-security/

...so using the above as example to implement a new ws (the link contains an example with marshalling/unmarshalling of objects instead of doing all the xml yourself).

When connecting to the ws I get this error message (from a webservice template - also in Spring):

org.springframework.ws.client.WebServiceTransportException: Not Found [404]
        at org.springframework.ws.client.core.WebServiceTemplate.handleError(WebServiceTemplate.java:627)
        at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:551)
        at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:502)
        at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:351)
        at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:345)
        at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:337)

The call originates from my template and I'm calling like this:

GetSignalsByCprRequest request = new GetSignalsByCprRequest();
request.setCpr(new BigInteger(cpr));
GetSignalsByCprResponse response = (GetSignalsByCprResponse) getWebServiceTemplate().marshalSendAndReceive(request);

A larger stack trace is:

21-09-2011 11:16:35 INFO  com.mydomain.ws.client.SignalsTemplateImpl  - Entering getSignals(..) in SignalsTemplateImpl
--- ENTER TEMPLATE ---
21-09-2011 11:16:35 TRACE net.sourceforge.stripes.controller.StripesFilter  - Intercepting request to URL: /salesoverview-ws-war/services
21-09-2011 11:16:35 DEBUG net.sourceforge.stripes.controller.StripesFilter  - LocalePicker selected locale: da_DK
21-09-2011 11:16:35 DEBUG net.sourceforge.stripes.controller.StripesFilter  - LocalePicker did not pick a character encoding, using default: UTF-8
21-09-2011 11:16:35 DEBUG net.sourceforge.stripes.controller.UrlBindingFactory  - No URL binding matches /salesoverview-ws-war/services
21-09-2011 11:16:35 DEBUG net.sourceforge.stripes.controller.UrlBindingFactory  - No URL binding matches /salesoverview-ws-war/services
org.springframework.ws.client.WebServiceTransportException: Not Found [404]
        at org.springframework.ws.client.core.WebServiceTemplate.handleError(WebServiceTemplate.java:627)
        at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:551)
        at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:502)
        at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:351)
        at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:345)
        at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:337)

"--- ENTER TEMPLATE ---" is printed just above the request/response is created. The error happens in GetSignalsByCprResponse response = (GetSignalsByCprResponse) getWebServiceTemplate().marshalSendAndReceive(request); I'm quite blank - I have no idea as where to go. I have a slight idea that either the soap message doesn't contain the namespace OR that Stripes catches the request - based on the stack trace... Stripes is using DynamicMappingFilter, thus mapping the url-pattern to /* - which might be the problem.

Any ideas or pointers is much appreciated!

sunlock
  • 212
  • 5
  • 17

1 Answers1

0

Seems that your Stripes servlet is handling URL’s you want to be handled by the Spring-ws servlet that will handle your web service requests. You might want to check your <url-pattern> in your web.xml.

Kdeveloper
  • 13,679
  • 11
  • 41
  • 49
  • My url-pattern is mapping to /* ...but why does my "old" ws work and not this one? – sunlock Sep 26 '11 at 07:28
  • The /* will force everything through the servlet, you might want to try using / only (making it the default, when no exact match is found). – Kdeveloper Sep 26 '11 at 07:54
  • That didn't change anything... Meanwhile, I have re-written parts of the webservice and now I don't have the problem any more. So there is no conflict between Spring-ws and Stripes. I cannot see why it happened, maybe due to some strange config related problem, but... *sigh* – sunlock Sep 26 '11 at 12:10