![](/img/trans.png)
[英]how to add Schema to Marshaller when a Part of XSD is nested in WSDL
[英]How to add xsd in WSDL
我的要求是在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编写了一个界面-
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中?
您可以将架构包含到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并将其复制到所有develoeprs的计算机。
请参考WSDL 2.0规范以获取更多详细说明。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.