客户端 jDK1.5 ,用xfire调用CXF的webservice
问题如题:
org.codehaus.xfire.fault.XFireFault: Unmarshalling Error:
Unexcepted wrapper element ...
解决方法:在cxf接口 定义中加入 @WebParam 写入命名空间
package com.demo;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface HelloWorld
{
//@WebParam(name="text", targetNamespace= "
// name= "text" 可以不要; targetNamespace 必须要;
// demo.com用的 此接口类 的包路径
String sayHi(@WebParam(name=" 入参", targetNamespace= "http://demo.com/") String text);
}
加上后,终于调用成功,可是有发现新的问题,xfire客户端调用cxf服务的时候传递过去的参数,String 类型的 但是服务端得到的入参总是 null
经过分析后,修改
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
@SOAPBinding(style = Style.RPC) // 增加
public interface HelloWorld
{
//@WebParam(name="text", targetNamespace= "
// name= "text" 可以不要; targetNamespace 必须要;
// demo.com用的 此接口类 的包路径
String sayHi(@WebParam(name=" 入参", targetNamespace= "http://demo.com/") String text);
}
增加 @SOAPBinding(style = Style.RPC) 此注解后问题得到解决