Hi Raymond,I test according your advice,but same issue exist yet.

2009/4/14 Raymond Feng <[email protected]>

>  Hi,
>
> If the wsdlElement is pointing to a portType/binding/service, we create a
> new WSDL to reference the original one. Can you try <binding.wswsdlElement="
> http://www.wiscom.com.cn/sample#wsdl.port(sampleService/sampleEndpoint)"/<http://www.wiscom.com.cn/sample#wsdl.port(sampleService/sampleEndpoint)%22/>
> >?
> Thanks,
> Raymond
>
>
>  *From:* 路经纬 <[email protected]>
> *Sent:* Monday, April 13, 2009 12:12 AM
> *To:* [email protected]
> *Subject:* why tuscany generate wsdl so insistently?
>
> Hi all,I want to publish webservice thought tuscany,and I write wsdl file
> firstly,and I want tuscany use the wsdl file when publish webservice.But I
> found tuscany so insistently generate wsdl file.
>
> following is my wsdl file sample.wsdl:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions targetNamespace="http://www.wiscom.com.cn/sample";
>                   xmlns:tns="http://www.wiscom.com.cn/sample";
>                   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>                   xmlns:xs="http://www.w3.org/2001/XMLSchema";
>                   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";>
>     <wsdl:types>
>         <xs:schema attributeFormDefault="qualified"
>                    elementFormDefault="unqualified"
>                    targetNamespace="http://www.wiscom.com.cn/sample";
>                    xmlns:tns="http://www.wiscom.com.cn/sample";
>                    xmlns:xs="http://www.w3.org/2001/XMLSchema";>
>             <xs:complexType name="student">
>                 <xs:sequence>
>                     <xs:element name="id" type="xs:int"/>
>                     <xs:element minOccurs="0" name="name"
> type="xs:string"/>
>                     <xs:element minOccurs="0" name="address"
> type="tns:address"/>
>                     <xs:element minOccurs="0" name="bornDate"
> type="xs:dateTime"/>
>                     <xs:element maxOccurs="unbounded" minOccurs="0"
> name="familyMembers" nillable="true"
>                                 type="tns:familyMember"/>
>                     <xs:element name="graduated" type="xs:boolean"/>
>                 </xs:sequence>
>             </xs:complexType>
>             <xs:complexType name="address">
>                 <xs:sequence>
>                     <xs:element minOccurs="0" name="city"
> type="xs:string"/>
>                     <xs:element minOccurs="0" name="conntry"
> type="xs:string"/>
>                     <xs:element minOccurs="0" name="street"
> type="xs:string"/>
>                 </xs:sequence>
>             </xs:complexType>
>             <xs:complexType name="familyMember">
>                 <xs:sequence>
>                     <xs:element name="age" type="xs:int"/>
>                     <xs:element minOccurs="0" name="name"
> type="xs:string"/>
>                     <xs:element minOccurs="0" name="relation"
> type="xs:string"/>
>                 </xs:sequence>
>             </xs:complexType>
>             <xs:element name="request">
>                 <xs:complexType>
>                     <xs:sequence>
>                         <xs:element minOccurs="0" name="arg0"
> nillable="true" type="tns:student"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="response">
>                 <xs:complexType>
>                     <xs:sequence>
>                         <xs:element minOccurs="0" name="return"
> nillable="true" type="tns:student"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>         </xs:schema>
>     </wsdl:types>
>     <wsdl:message name="requestMsg">
>         <wsdl:part name="parameter" element="tns:request"/>
>     </wsdl:message>
>     <wsdl:message name="responseMsg">
>         <wsdl:part name="parameter" element="tns:response"/>
>     </wsdl:message>
>     <wsdl:portType name="sampleInterface">
>         <wsdl:operation name="process">
>             <wsdl:input message="tns:requestMsg"/>
>             <wsdl:output message="tns:responseMsg"/>
>         </wsdl:operation>
>     </wsdl:portType>
>     <wsdl:binding name="sampleBinding" type="tns:sampleInterface">
>         <soap:binding style="document" transport="
> http://schemas.xmlsoap.org/soap/http"/<http://schemas.xmlsoap.org/soap/http%22/>
> >
>         <wsdl:operation name="process">
>             <soap:operation/>
>             <wsdl:input>
>                 <soap:body use="literal"/>
>             </wsdl:input>
>             <wsdl:output>
>                 <soap:body use="literal"/>
>             </wsdl:output>
>         </wsdl:operation>
>     </wsdl:binding>
>     <wsdl:service name="sampleService">
>         <wsdl:port name="sampleEndpoint" binding="tns:sampleBinding">
>             <soap:address location="
> http://127.0.0.1:8080/bs/sampleService"/<http://127.0.0.1:8080/bs/sampleService%22/>
> >
>         </wsdl:port>
>     </wsdl:service>
> </wsdl:definitions>
>
> and following is composite file:
>
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
>            targetNamespace="http://wiscom";
>            xmlns:wiscom="http://wiscom";
>            xmlns:dbsdo="
> http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0";
>            xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance";
>            name="baseinfo">
>     <dbsdo:import.sdo location="wsdl/sample.wsdl"/>
>     <component name="baseInfoServiceComponent">
>         <implementation.java
> class="com.wiscom.tuscany.demo.baseinfo.BaseInfoServiceImpl"/>
>         <service name="BaseInfoService">
>             <interface.java
> interface="com.wiscom.tuscany.demo.baseinfo.BaseInfoService"/>
>             <!--<interface.wsdl interface="
> http://www.wiscom.com.cn/sample#wsdl.interface(sampleInterface)"/<http://www.wiscom.com.cn/sample#wsdl.interface(sampleInterface)%22/>
> >-->
>             <binding.ws wsdlElement="
> http://www.wiscom.com.cn/sample#wsdl.service(sampleService)"/<http://www.wiscom.com.cn/sample#wsdl.service(sampleService)%22/>
> >
>         </service>
>     </component>
> </composite>
>
> and when application startup,I access
> http://127.0.0.1:8080/bs/sampleService?wsdl, I get the following:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions name="baseInfoServiceComponent.BaseInfoService"
> targetNamespace="
> http://www.wiscom.com.cn/baseInfoServiceComponent/BaseInfoService";
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:tns="
> http://www.wiscom.com.cn/baseInfoServiceComponent/BaseInfoService";
> xmlns:ns0="http://www.wiscom.com.cn/sample"; xmlns:SOAP11="
> http://schemas.xmlsoap.org/wsdl/soap/";>
>   <wsdl:import namespace="http://www.wiscom.com.cn/sample"; location=
> "/bs/sampleService?wsdl=wsdl/sample.wsdl">
>     </wsdl:import>
>   <wsdl:service name="sampleInterfaceService">
>     <wsdl:port name="sampleEndpoint" binding="ns0:sampleBinding">
>       <SOAP11:address location="http://192.168.1.112:8080/bs/sampleService
> "/>
>     </wsdl:port>
>   </wsdl:service>
> </wsdl:definitions>
>
> Tuscany generate new wsdl file and new namespace,not using the sample.wsdl
> directly.how to do letting tuscany use sample.wsdl directly?
>
>
>
>
>
>

Reply via email to