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?
