Web services SpringWS:响应消息包含奇怪的字符
我是SpringWS的新手,我必须为我的项目创建一个Web服务。 为了尝试一些示例,我从 当我部署war文件并使用SoapUI进行测试时;我在响应消息中得到了奇怪的字符(如ce,1a,0),并且“CalculateResponse”元素为空Web services SpringWS:响应消息包含奇怪的字符,web-services,jboss,character,spring-ws,jboss-4.2.x,Web Services,Jboss,Character,Spring Ws,Jboss 4.2.x,我是SpringWS的新手,我必须为我的项目创建一个Web服务。 为了尝试一些示例,我从 当我部署war文件并使用SoapUI进行测试时;我在响应消息中得到了奇怪的字符(如ce,1a,0),并且“CalculateResponse”元素为空 <ns2:CalculateResponse xmlns:ns2='http://www.marvelution.com/samples/schemas/CalculatorServiceSchema'/> 返回响应之前的System
<ns2:CalculateResponse xmlns:ns2='http://www.marvelution.com/samples/schemas/CalculatorServiceSchema'/>
返回响应之前的System.out.println正在打印。我不确定这些字符是在哪里添加的,以及为什么响应不完整
谢谢,
杰格我发现了问题所在。 JBoss提供的SAAJ实现存在一些问题。(即,此默认JBoss实现“org.JBoss.ws.core.soap.MessageFactoryImpl”存在问题) 因此,解决方案不是使用JBoss实现,而是使用另一个实现 示例:使用以下实现之一: com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessage Factory1_1Impl org.apache.axis2.saaj.MessageFactoryImpl
<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory">
<property name="messageFactory">
<bean class="org.apache.axis2.saaj.MessageFactoryImpl"/>
</property>
</bean>
此问题已在此处报告:URL:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)/JBossWeb-2.0
SOAPAction: ""
Content-Type: text/xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 20 Jul 2012 01:47:23 GMT
ce
<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header></env:Header><env:Body><ns2:CalculateResponse xmlns:ns2='http://www.marvelution.com/samples/schemas/CalculatorServiceSchema'/>
1a
</env:Body></env:Envelope>
0
@PayloadRoot(namespace = "http://www.marvelution.com/samples/schemas/CalculatorServiceSchema", localPart = "Add")
public CalculateResponse add(Add numbers) {
CalculateResponse res = wrapResult(calculator.add(numbers.getNumber()));
System.out.println("Response before sending:"+res.getResult());
return res;
}
<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory">
<property name="messageFactory">
<bean class="org.apache.axis2.saaj.MessageFactoryImpl"/>
</property>
</bean>