2013-03-20 2 views
0

Мое требование - создать веб-сервис на WebSphear. Я хочу добавить файл xsd в WSDL. Для этого я написал свой файл XSD ниже - Как добавить xsd в WSDL

<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 \ рати onalsdp \ workspace \ PeoplesoftWS \ bin \ servicecenter.xsd. Он не может быть указан снова как com.ubs.peoplesoft.BookAppointment. Пожалуйста, дайте мне знать, что я здесь делаю и как добавить xsd в WSDL?

ответ

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 для более подробного объяснения.

+0

Привет, Алекс, мне нужно вручную написать это внутри wsdl? Если я выполнил вышеуказанный java2wsdl с аргументом -C , то вы не сможете автоматически импортировать его? –

+0

Зависит от вашей IDE, это может позволить вам сделать это. Но независимо от вашей среды IDE вы всегда можете добавить ее вручную. –

Смежные вопросы