我用cxf实现做的webservices,接口如下;import javax.jws.WebParam;
import javax.jws.WebService;@WebService(name = "IReportNames", targetNamespace = "http://reportNames.fi/")
public interface IReportNames {
public String getReportNames(@WebParam(name="AuthenticationToken",targetNamespace = "aaa",header=true)    Authentication auth,@WebParam(name="dataType") String type);
}
发送到服务器端的信息样式是下面这样:<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<ns2:Authentication xmlns:ns2="http://header.webservice.main.fi/">
<appKey>your appKey</appKey>
<appSecret>your appSecret</appSecret>
</ns2:Authentication>
</soap:Header>
<soap:Body>  
            <getReportNames>  
                <dataType>json</dataType>  
            </getReportNames>  
        </soap:Body>  
</soap:Envelope>而服务器端要求的接收到的信息样式是这样的:<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  
  <soap:Header>   
    <AuthenticationToken>   
        <appKey>your appKey</appKey>  
        <appSecret>your appSecret</appSecret>  
    </AuthenticationToken>   
  </soap:Header>  
  <soap:Body>  
    <getReportNames>  
        <dataType>json</dataType>  
    </getReportNames>  
  </soap:Body>  
</soap:Envelope>  
这样服务器就不认识我发送的信息,有没有什么方法可以把<ns2:Authentication xmlns:ns2="http://header.webservice.main.fi/">这里面多余的东西给去掉。

解决方案 »

  1.   

    是不是AuthenticationToken 这个类,而不是这个 Authentication
      

  2.   

    不是,我自己只能实现成下面这样:<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
        <soap:Header>
            <ns2: AuthenticationToken xmlns:ns2="http://header.webservice.main.fi/">
                <appKey>your appKey</appKey>
                <appSecret>your appSecret</appSecret>
            </ns2: AuthenticationToken>
        </soap:Header>
        <soap:Body>  
                <getReportNames>  
                    <dataType>json</dataType>  
                </getReportNames>  
            </soap:Body>  
    </soap:Envelope>
    但是怎么能够把下面这段<ns2: AuthenticationToken xmlns:ns2="http://header.webservice.main.fi/">
          <appKey>your appKey</appKey>
          <appSecret>your appSecret</appSecret>
    </ns2: AuthenticationToken>变成这样<AuthenticationToken>
          <appKey>your appKey</appKey>
          <appSecret>your appSecret</appSecret>
    <AuthenticationToken>
    程序应该怎么实现啊,各位大哥帮帮忙!