Reference.xsd does not contain Request en Response message type after adding webservice

Home Page Forums BizTalk 2004 – BizTalk 2010 Reference.xsd does not contain Request en Response message type after adding webservice

Viewing 1 reply thread
  • Author
    Posts
    • #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

       

    • #23456

      What is the signature of the web service method you are calling?
      What are the data types you have added?

      • #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&#8221; 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

         

         

        • #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”;

          • #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.

             

             

             

             

Viewing 1 reply thread
  • The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.