如何解决xfire调用cxf的webservice问题

客户端 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)  此注解后问题得到解决

 

 

 

 

 

你可能感兴趣的:(webservice,CXF,xfire)