2016-09-30 5 views
0

私の前の質問here (Contains all the source information)私のWSDLに自分のメソッドのパラメータが含まれていない理由を尋ねました。 私はそれからだ、私ははっきりとメソッドのための私のパラメータ定義を参照することができ、その定義を見てみると、それはJava 1.6 JAX-WSメソッドパラメータでBIRTが機能しない

http://localhost:8080/hello?xsd=1 

の下で利用可能WSDLで利用可能であることを告げた:私は、データソースとしてWDSLを使用する場合

<!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.4-b01. 
--> 
<xs:schema version="1.0" targetNamespace="http://soap.webapp.mobile.product.com/"> 
    <xs:element name="sayMyName" type="tns:sayMyName"/> 
    <xs:element name="sayMyNameResponse" type="tns:sayMyNameResponse"/> 
    <xs:complexType name="sayMyName"> 
     <xs:sequence> 
      <xs:element name="name" type="xs:string" minOccurs="0"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="sayMyNameResponse"> 
     <xs:sequence> 
      <xs:element name="return" type="xs:string" minOccurs="0"/> 
     </xs:sequence> 
    </xs:complexType> 
</xs:schema> 

BIRTの場合はメソッド名が表示されますが、パラメータ選択ダイアログは空です。

Java 1.6 APIでは動作しません。代わりにaxis2を使用する必要がありますか?

答えて

0

わかりましたので、私は最終的に基本的に私は私の@WebServiceクラスに次のアノテーションを追加し、それが作業を取得する方法を見つけた:

@SOAPBinding(style = SOAPBinding.Style.RPC) 

全例:

import javax.jws.WebMethod; 
import javax.jws.WebParam; 
import javax.jws.WebService; 
import javax.jws.soap.SOAPBinding; 
import javax.xml.ws.BindingType; 

@WebService 
@BindingType(value = "http://java.sun.com/xml/ns/jaxws/2003/05/soap/bindings/HTTP/") 
@SOAPBinding(style = SOAPBinding.Style.RPC) 
public class WSHello { 

    @WebMethod 
    public String sayMyName(@WebParam(name = "name") String name) { 
     return "Hello, ... " + name; 
    } 

} 
関連する問題