Forwarding this from user@ to dev@ as its come up again. Does anyone remember the details about how wsdl generation is designed to work? It looks like Tuscany *always* generates its own wsdl replacing what may have been supplied in a contribution. I vaguely remember that may be by design but can't find specific emails about it and it doesn't seem the correct thing to be doing now.
...ant ---------- Forwarded message ---------- From: 路经纬 <[email protected]> Date: 2009/4/14 Subject: Re: why tuscany generate wsdl so insistently? To: [email protected] 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.ws > wsdlElement="http://www.wiscom.com.cn/sample#wsdl.port(sampleService/sampleEndpoint)"/>? > Thanks, > Raymond > > From: 路经纬 > 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"/> > <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"/> > </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)"/>--> > <binding.ws > wsdlElement="http://www.wiscom.com.cn/sample#wsdl.service(sampleService)"/> > </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? > > > >
