0

私の要件は、WebSphearでWebサービスを作成することです。xsdファイルをWSDLに追加したいと思います。そのために、xsdファイルを以下に記述しました-

<xsd:element name="getAppDate" ></xsd:element>
    <xsd:element name="getAppDateResponce"></xsd:element>

   <xsd:complexType name="getAppDate">
  <xsd:sequence>
  <xsd:element name="appdate" type="xsd:string" minOccurs="0"></xsd:element>
  <xsd:element name="uuName" type="xsd:string" minOccurs="0"></xsd:element>
</xsd:sequence>
 </xsd:complexType>

<xsd:complexType name="getAppDateResponce">
 <xsd:sequence>
  <xsd:element name="return" type="xsd:boolean" minOccurs="0"></xsd:element>
 </xsd:sequence>
</xsd:complexType>
   </xsd:schema>

今、私は以下にJAX-WS用の1つのインターフェースを書きました-

 public interface BookAppointment {

String getAppDate(String date,String uuname);
boolean getAppDateResponce(String date,String uuname);
       }

次のステップ:Java2WSDLコマンドを実行してwsdlを生成しています-

   java org.apache.axis.wsdl.Java2WSDL -o ..\appointmentbooking.wsdl -C C:\Users\px00395
   \IBM\rationalsdp\workspace\PeoplesoftWS\bin\servicecenter.xsd -l 
    http://localhost:9081/AxisServlet/services/appointmentbook  
    com.ubs.peoplesoft.BookAppointment

しかし、次のメッセージが表示されます。C:\ Users \ px00395 \ IBM \ rati onalsdp \ワークスペース\PeoplesoftWS \ bin\servicecenter.xsdとしてすでに指定されています。com.ubs.peoplesoft.BookAppointmentとして再度指定することはできません。ここで何が間違っているのか、xsdをWSDLに追加するにはどうすればよいですか?

4

1 に答える 1

1

スキーマをwsdlに含めることができます。

<include schemaLocation="C:\Users\px00395
   \IBM\rationalsdp\workspace\PeoplesoftWS\bin\servicecenter.xsd" />

または、次のようなスキーマをインポートすることもできます。

<import namespace="mynamespace"
        schemaLocation="C:\Users\px00395
   \IBM\rationalsdp\workspace\PeoplesoftWS\bin\servicecenter.xsd" />

チームで作業する場合は、ローカルファイルシステムではなく、ローカルサーバーを使用してスキーマをホストすることをお勧めします。このようにして、.xsdを同期してすべての開発者のコ​​ンピューターにコピーする必要はありません。


詳細な説明については、WSDL2.0仕様を参照してください。

于 2013-03-20T19:07:25.480 に答える