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? > > > > > >
