0

我的要求是在 WebSphear 上创建一个网络服务。我想将我的 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 编写了一个接口——

 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\workspace\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 同步并复制到所有开发人员的计算机上。


请参考 WSDL 2.0 规范以获得更详细的解释。

于 2013-03-20T19:07:25.480 回答