我正在使用Spring-WS在Web服务客户端上工作。它不是我的第一个使用Spring-WS的webservice项目。但我是这个特殊项目的新手。
我们使用maven-jaxb2-plugin生成dao-objects。
我正在使用Spring-WS WebServiceTemplate,并设置了标准的marshaller和unmarshaller。
在之前的项目中,我可以使用以下方式进行网络服务调用:
webserviceTemplate.marshallSendAndReceive(new ObjectFactory().createSomeRequest());
在我目前的项目中,我需要提供一个随SoapActionUrl提供的SoapActionCallback。
webserviceTemplate.marshallSendAndReceive(new ObjectFactory().createSomeRequest, new SoapActionCallback("http://some-action-url.com/action"));
如果我不提供这个SoapActionUrl,我就不会得到结果,而且在调试时,我看到一个被忽视的异常:
Couldn't get a SAX parser while constructing a envelope
我想删除那些SoapActionUrls。使用maven-jaxb2-plugin生成的正确对象,应该自动引用正确的actionurl?
我用谷歌搜索了这个,但没有找到太多关于它的信息。 我想知道为什么我可以离开SoapActionCallback'在第一种情况下,在第二种情况下,我有义务提供这一点。 我不知道服务器端使用的特定技术,因为Web服务是由外部合作伙伴开发的。
有人可以解释一下吗?