Home Page › Forums › BizTalk 2004 – BizTalk 2010 › Reference.xsd does not contain Request en Response message type after adding webservice
- This topic has 4 replies, 1 voice, and was last updated 8 years, 9 months ago by
community-content.
-
AuthorPosts
-
-
October 14, 2009 at 5:24 AM #23454
Hi all,
When I try to add a webreference to a 3rd party webservice a reference.xsd gets created. However the datatypes of the webservice request en response methods don’t get generated. (some other datatypes generated by the webservice are generated)
I have added these datatypes to the reference.xsd file from the wsdl file. Now I can use these datatypes in a mapping but I can’t send these messages to the webservice, because Biztalk doesn’t see these messages as the same type as the webservice messages. The datatypes I added to the xsd look the about the same as the datatypes from other webservices that have xsd the where generated ok. Does anybody know how I can solve this?
Regards and thanks,
Bart
-
October 14, 2009 at 6:12 AM #23456
What is the signature of the web service method you are calling?
What are the data types you have added?-
October 14, 2009 at 7:40 AM #23457
In the wsdl the webservice method is this:
<s:element name=”GetGroupByName”>
<s:complexType>
<s:sequence>
<s:element minOccurs=”0″ maxOccurs=”1″ name=”Group_Name” type=”s:string” />
</s:sequence>
</s:complexType><wsdl:message name=”GetGroupByNameSoapIn”>
<wsdl:part name=”parameters” element=”tns:GetGroupByName” />
</wsdl:message>wsdl:message name=”GetGroupByNameSecurity”>
<wsdl:part name=”Security” element=”tns:Security” />
</wsdl:message>
<wsdl:message name=”GetGroupByNameTrust”>
<wsdl:part name=”Trust” element=”tns:Trust” />
</wsdl:message><wsdl:operation name=”GetGroupByName”>
<documentation xmlns=”http://schemas.xmlsoap.org/wsdl/”>This method processes a Group Name and returns a list giving the the full details of the group if it exists in the database.</documentation>
<wsdl:input message=”tns:GetGroupByNameSoapIn” />
<wsdl:output message=”tns:GetGroupByNameSoapOut” />
</wsdl:operation><wsdl:operation name=”GetGroupByName”>
<soap:operation soapAction=”http://questionmark.com/QMWISe/GetGroupByName” style=”document” />
<wsdl:input>
<soap:body use=”literal” />
<soap:header message=”tns:GetGroupByNameSecurity” part=”Security” use=”literal” />
<soap:header message=”tns:GetGroupByNameTrust” part=”Trust” use=”literal” />
</wsdl:input>
<wsdl:output>
<soap:body use=”literal” />
<soap:header message=”tns:GetGroupByNameSecurity” part=”Security” use=”literal” />
<soap:header message=”tns:GetGroupByNameTrust” part=”Trust” use=”literal” />
</wsdl:output>
</wsdl:operation>I added this to the reference.xsd file:
<xs:element name=”GetGroupByName” nillable=”true” type=”tns:GetGroupByName” />
<xs:complexType name=”GetGroupByName” >
<xs:sequence>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”Group_Name” type=”xs:string” />
</xs:sequence>
</xs:complexType>I also tried this:
<xs:element name=”GetGroupByName”>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs=”0″ maxOccurs=”1″ name=”Group_Name” type=”xs:string” />
</xs:sequence>
</xs:complexType>Thanks,
Bart
-
October 14, 2009 at 2:01 PM #23460
For basic data types like int and string, there is no schema generated.
If you browse the port type created when you imported the wsdl you will see a multipart message defined:Like GetGroupByName_Request, with a part called Group_Name. The message is of type System.String. You cannot use it in a map to create this message but have to assign it a value in a message assignment shape
GetGroupByName_Request.Group_Name = “myname”;
-
October 15, 2009 at 3:23 AM #23462
Thanks for your answer, I’ll try that. So the other webservices work because they all have a complex datatype that contains all the request data.
-
-
-
-
-
AuthorPosts
- The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.