如何解决xfire调用cxf的webservice问题
1个回答
2016-04-24
展开全部
解决方法:在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) 此注解后问题得到解决
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) 此注解后问题得到解决
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询