none
Cannot seem to be able to expose SharePoint search.asmx through biztalk RRS feed

  • Question

  • Wel this is a newby question regarding Biztalk and SharePoint. I am trying to call the search.asmx webservice through biztalk. But I seem to be unable to set this up. I have tried multiple options but none works. I hav created a bts project in VS 2010, added a web (!!) reference to ../_vti_bin/search.asmx. Then created a configured port and chose my web reference (if i setup a service reference, it does not appear in this popup, please tell me why..). So far so good, now I create a message with type BizTalk_Server_Project3.search.QueryService_.QueryEx_request; then create a send object and configure its message being the just created message and bind it to the queryex request identifier of the port, I also create a response message and a receive shape bound to the port queryex Response. This works al fine.

    But from here I cannot understand what to do. My original query to the webservice was based on the <QueryPacked> schema. But thi schema is not the same as the BizTalk_Server_Project3.search.QueryService_.QueryEx_request (or is it?? I cannot see how) SO I thought I need a transformation from the querypacked to the queryex  schema?? Or am I so wrong? Any way the web message type messages do not show up in the transformation shape (nor in the map editor); probably because it is a multipart message? If so how can I make this in a part message?

    Wow losts of questions; I am seriously doing something wrong (was under the assumption that biztalk and sharepoint should be able to work together easely)

    I sincerly hope someone can help me.

    Sander

     

    Sunday, October 23, 2011 3:47 PM

Answers

  • No unfort. this does not work. QueryRequest IS the message I receive in the receive_1 and should be my input on a transform.

    Question is how could I create a destination schema based on the generated multipart web message. If that was possible, i think the riddle would be solved...

    (I immensly appreceate you all taking the time to discuss this with me!)

    Sander

    Hi, 

    Check the message type Message Type of the Request that I highlighted in a cropped screen shot of your orchestration. You need to choose the same in the send shape's message type if you are receiving the same message. Or you can construct the message of the same type and assign that to the send shape. HTH.

     


    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    My Blog:dpsbali-biztalkweblog
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.
    • Marked as answer by Saaffy Monday, October 24, 2011 6:31 PM
    Monday, October 24, 2011 12:28 PM

All replies

  • For any .asmx service you can add a web reference in a biztalk project and this will generate the web type messages for your request and response. What are the artifacts that you get when you create a web reference for this service?
    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    My Blog:dpsbali-biztalkweblog
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.
    Sunday, October 23, 2011 4:27 PM
  • Adding a Web reference (or service reference for that matter) does NOT create request and/or response schemas in a BizTalk project. What you need to do is right-click your project and choose Add->Add Generated Items->Consume WCF Service.

     

    Morten la Cour

    Sunday, October 23, 2011 5:43 PM
  • Adding a Web reference (or service reference for that matter) does NOT create request and/or response schemas in a BizTalk project. What you need to do is right-click your project and choose Add->Add Generated Items->Consume WCF Service.

     

    Morten la Cour

    This is asmx service not a WCF Service. Not sure if you know about this but yes ofcourse adding a web reference would do as I mentioned in my earlier post. In legacy SOAP Adapter it even created an orchestration with the web port. So not sure when you say DOES NOT create request response schemas how true is that 


    • Edited by DPS Bali Sunday, October 23, 2011 6:41 PM
    Sunday, October 23, 2011 6:17 PM
  • Hi Thanx you all for your help so far. I am really stuck here and believe I am overseeing something obvious. Please keep in mind I am just starting with biztalk. The search.asmx accepts a soap message. The schema looks like

    <xs:schema xmlns:tns="http://microsoft.com/webservices/OfficeServer/QueryService" elementFormDefault="qualified" targetNamespace="http://microsoft.com/webservices/OfficeServer/QueryService" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <!--Warning: Schema changed to permit compilation in BizTalk project.-->
      <xs:element name="QueryEx">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="queryXml" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="QueryExResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="QueryExResult">
              <xs:complexType>
                <xs:sequence>
                  <!--Warning: Changed <xs:element ref="xs:schema" xmlns:xs="http://www.w3.org/2001/XMLSchema" /> to <xs:any xmlns:xs="http://www.w3.org/2001/XMLSchema" /> to permit compilation.-->
                  <xs:any />
                  <xs:any />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    ...

    But if I create a webreference and invoke this webservice (queryEx) I post a different xml (querypacket see: http://msdn.microsoft.com/en-us/library/ms563775(v=office.12).aspx). I suspect this xml belongs within the queryXML element, but I am unsure. I am also unsure how to accomplish this in VS; I hoped this would be a simple step, but apperently it is not...

    Thnax again!

     

    Sander 

    Sunday, October 23, 2011 8:10 PM
  • ps this queryservice schema is a web message type... I am not sure if that is important.
    Sunday, October 23, 2011 8:12 PM
  • Hi,

    What type of port/adapter are you using to send this message? Have you looked at this , it shouldn't behave differently in BizTalk, however haven't tried it myself. So when you are creating this request message, is it a map in an orchestration, if so just test the output of the map or before you send the request to http port you can use a dummy send port to check by sending the message to the file location to see what is being constructed in your orchestration.


    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    My Blog:dpsbali-biztalkweblog
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.
    • Edited by DPS Bali Monday, October 24, 2011 4:31 AM
    Monday, October 24, 2011 4:23 AM
  • Hi Yes that (the link) is exactly what I mean. If I follow the link and create a proxy in a .net app, I post a <QueryPacket> message. If I add the webservice to a Bts project, it creates a multipart message type with name QUERYEX_REQUEST. I have created 2 messages: one called request with message type set to the queryex_request and the same for a response (set to the queryex_response). I now have a receive port for this message on /bts/BTSHHTTPReceive.dll and a receive shape. A send shape to the SOAP port for the search.asmx which sends the same request message. I think this should work, but it doesn't

    The eventlog says

    There was a failure executing the receive pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "XML disassembler" Receive Port: "XXX.Documents.Search_1.0.0.0_XXX.Documents.Search.BizTalk_Orchestration1_HttpReceive_dd4ab1acb6e0e9c1" URI: "/bts/BTSHTTPReceive.dll" Reason: Finding the document specification by message type "QueryPacket" failed. Verify the schema deployed properly.

    Questions:

    In case of such a web message type, how can I view the schema of it? How do I know what it is expecting? Is is not in reference.odx. Could I somehow create an instance of it, so I can test with that one?
    I thought I should use the passtrhu pipeline, but then it does not even find the subscription. Why must I use xmlreceive pipeline?

    Thanx for your effort!

    Sander

     

     

    Monday, October 24, 2011 7:17 AM
  • It is recommended to have a Schema for your input XML 'QueryPacket'. If you have a sample input XML, then you can generate a schema for it. Refer this

    Use this schema to define the RequestMessage for Orchestration Receive Shape. And once you have this schema deployed, XMLReceive pipeline will be able to relate the inputXML with its corresponding Schema (using MessageType).

     


    Don't forget to mark the post as answer or vote as helpful if it does, Regards - Sathish Krishnan
    Monday, October 24, 2011 7:56 AM
  • Hi,

    I have tried this, there is a place where I can download the schema's specifically for the sharepoint search.asmx, but your tip is also very handy.

    So now my receive port is configured great and bound to my activation receive shape. The Message type of the port is set to the schema that I geneated, the receive shape 's message is set to a message which message type is set to the same generated schema (so that works). But next is my send port; this will send the request to the soap port (aka search.asmx). Its message property is set to the same message as my receive shape. But now I cannot connect it to the QueryEx part of the soap port. It's (fixed) to XXX.Documents.Search.search.QueryService_.QueryEx_request and I cannot change this (and appearently) biztalk does not think my generated schema is the same as this fixed soap schema.. Perhaps I need to change this fixed schema also? I feel we getting closer to my problem...

    Sander

    Monday, October 24, 2011 9:04 AM
  • It should ideally work the following way too.

    • Add a web-reference in your biztalk project. This will create the multi-part messages for you.
    • To test this client of the service that is created by the above step. You can create an orchestration. create a message of the type of the request from the multipart message and then test that.
    • About creating the request, you can use the Reference schema to create a sample file and then pick them from the file location and send to the port.

    HTH


    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    My Blog:dpsbali-biztalkweblog
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.
    Monday, October 24, 2011 9:11 AM
  • Indeed the first step is correct. Part of my problem is with the second.. I created an orchestration, created a message and set its type to the web message type of the correct webservice method (queryex in my case).

    Please elobrate a bit more on this "creating the request". Beneath my webreference (called search) if I click 'Show All Files' I see some files: search.wsdl, reference.odx, Reference.map.cs and search.disco. So what are the detailed steps to generate an instance? What is 'the reference schema'?

    Sander

    Monday, October 24, 2011 9:21 AM
  • When you added a Service reference to Sharepoint Search Service, it should have generated required Schemas for Webservice. 

    - Inside Orchestration, create a Webservice Request and Response message based on the web message types generated.

    - Either transform the content from Input message to Webservice request message using Transformation Shape (BizTalk Map) or Asssign the Input message to Webservice request message using Message Assignment Shape (if the message structure is same.)

    - Add a Send shape and select Webservice request message in it.

    - Add a Receive shape  and select Webservice response message.

    - Configure a Request Response port. Connect Send shape to Request operation of that port, and Receive shape to Response operation of that port.

     

    HTH.


    Don't forget to mark the post as answer or vote as helpful if it does, Regards - Sathish Krishnan
    Monday, October 24, 2011 9:38 AM
  • What do you mean with When you added a Service reference to Sharepoint Search Service, it should have generated required Schemas for Webservice? Well it generates the multipart message types if that is what you mean, but I can hardly see them as schema's cause I cannot view them, I do not know what they look like. But I can set a message type to it, so it must be a valid schema..

    I have almost the same orchstration as you. First every message in this oxd was of the type that was generated from the soap port config. Later I changed the request xml to a self generated schema. Since that I am unable to connect send_1 to queryex request. Please forgive me not using naving conevnetions, I just like to get this thing rolling

    I tried a transfor shape, but the target schema (being the generated multipart message type ) does not show up in the pull down (either destination or source).

    I feel stupid. This must be so easy, but I just can't seem to grasp where I am going wrong. Maybe I should not use this genearted soap port? I know wcf is 'better' or maybe newer, but it should work not? Why is this so hard? Please hang in there, can't sleep untill I have tackled this ;-)

     

    Monday, October 24, 2011 10:05 AM
  • Hi,

    Put a transform shape before the Send_1 in your orchestration. Messages constructed will be QueryRequest of the type of muti part request.

    Now if you double click on Transform_1(default name) you can give the source schema of the message that you are getting in the receive_1 and destination will be QueryRequest. Click ok and that should create a btm file which is a biztalk map.

    You can right click on the map and say test map, this should give you the structure of the request message.

    HTH


    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    My Blog:dpsbali-biztalkweblog
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.
    Monday, October 24, 2011 10:55 AM
  • No unfort. this does not work. QueryRequest IS the message I receive in the receive_1 and should be my input on a transform.

    Question is how could I create a destination schema based on the generated multipart web message. If that was possible, i think the riddle would be solved...

    (I immensly appreceate you all taking the time to discuss this with me!)

    Sander

    Monday, October 24, 2011 11:10 AM
  • Hi Thanx you all for your help so far. I am really stuck here and believe I am overseeing something obvious. Please keep in mind I am just starting with biztalk. The search.asmx accepts a soap message. The schema looks like

    <xs:schema xmlns:tns="http://microsoft.com/webservices/OfficeServer/QueryService" elementFormDefault="qualified" targetNamespace="http://microsoft.com/webservices/OfficeServer/QueryService" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <!--Warning: Schema changed to permit compilation in BizTalk project.-->
      <xs:element name="QueryEx">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="queryXml" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="QueryExResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="QueryExResult">
              <xs:complexType>
                <xs:sequence>
                  <!--Warning: Changed <xs:element ref="xs:schema" xmlns:xs="http://www.w3.org/2001/XMLSchema" /> to <xs:any xmlns:xs="http://www.w3.org/2001/XMLSchema" /> to permit compilation.-->
                  <xs:any />
                  <xs:any />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    ...

    But if I create a webreference and invoke this webservice (queryEx) I post a different xml (querypacket see: http://msdn.microsoft.com/en-us/library/ms563775(v=office.12).aspx). I suspect this xml belongs within the queryXML element, but I am unsure. I am also unsure how to accomplish this in VS; I hoped this would be a simple step, but apperently it is not...

    Thnax again!

     

    Sander 


    While referring to your SOAP message schema, I realize that the SOAP request contains a Primitive Type (xs:string) as input parameter, and hence it doesn't generate the schema for SOAP request. In this case instead of Transform shape, you can use Message Assignment shape (inside Construct shape) to create and assign value to SOAP request message.

    Refer this link.

    Also check if the Message Type property of Send Shape is same as the Message Type in Request operation (Port1 - QueryEx). If they are not same, change the Message Type in Request Operation to the Message Type of Send shape. Only if both are same, the link between them will connect.

     


    Don't forget to mark the post as answer or vote as helpful if it does, Regards - Sathish Krishnan
    Monday, October 24, 2011 11:26 AM
  • No unfort. this does not work. QueryRequest IS the message I receive in the receive_1 and should be my input on a transform.

    Question is how could I create a destination schema based on the generated multipart web message. If that was possible, i think the riddle would be solved...

    (I immensly appreceate you all taking the time to discuss this with me!)

    Sander

    Hi, 

    Check the message type Message Type of the Request that I highlighted in a cropped screen shot of your orchestration. You need to choose the same in the send shape's message type if you are receiving the same message. Or you can construct the message of the same type and assign that to the send shape. HTH.

     


    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    My Blog:dpsbali-biztalkweblog
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.
    • Marked as answer by Saaffy Monday, October 24, 2011 6:31 PM
    Monday, October 24, 2011 12:28 PM
  • I am sorry I am so unclear, but I cannot change the message type of that Request. This is fixed! (as for ALL the request/responses in this port) This port is created through:

    1 add a web reference to search.asmx
    2 add a new configured port
    3 choose existing port 
    4 choose the web reference.

    This is exacly the problem I cannot change this property and I cannot seem to find what kind of schema it is....

    e


    • Edited by Saaffy Monday, October 24, 2011 12:39 PM
    Monday, October 24, 2011 12:38 PM
  • Hi,

    Do you see a reference.xsd under reference.map in your web reference. Check this blog post for a work around.


    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    My Blog:dpsbali-biztalkweblog
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.
    Monday, October 24, 2011 2:41 PM
  • I am sorry I misread your message. I thought you mean changing on the request, but now I understand changing on the send shape. But for this I need to create a new message and then it will say that this message in not constucted. I need a transform to do this, but I cannot select the message as output (because it is based on a web message type)? and then I am back were I started..

    Sander


    • Edited by Saaffy Monday, October 24, 2011 2:43 PM
    Monday, October 24, 2011 2:43 PM
  • This is a limitation on multipart messages which are of simple type. Try the work around in this blog post or the one that I shared in my previous post. 

    Hope this helps.


    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    My Blog:dpsbali-biztalkweblog
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.
    Monday, October 24, 2011 3:15 PM
  • Hi Bali,

    Could please help me one last time. The blog post you reference speaks of:

    The workaround is first create a message in the Orchestration View for the schema type part of multi-part message.

    Here I am lost. What are the steps to create a schema type part of multipart message. How do I do that? If I create a new message I cannot set any properties except for the type. But what type do I choose?

    Sander

     

    Monday, October 24, 2011 5:16 PM
  • Sander,

    When you assign WebPort type to Orchestration ReqResp port, it automatically assigns the Webservice Request & Response message types to Request & Response operation respectively. This means, you will have to construct the Webservice request message in your Orchestration using COnstruct shape, and assign that message to Send shape. But instead of using Transform shape, use Message Assignment shape inside the construct shape. In Message Assignment shape you can assign value to the Webservice Request Message programmatically.

    Is query string passed in the Input XML? If yes, then open the input schema and define queryXML as a distinguish field (Refer this).

    Once this is done, the query string can be copied from InputMsg and assigned to WebRequestMsg as mentioned below.

     

    WebRequestMsg.queryXML = InputMsg.queryXML;
    

    [Note: I'm assuming that the Input Message as similar structure to WebService Request. If different, provide the input xml for review.]

     


    Don't forget to mark the post as answer or vote as helpful if it does, Regards - Sathish Krishnan
    Monday, October 24, 2011 5:46 PM
  • Hi Sathish,

    Ok I understand the message assignment. On the message I want to send I have a queryXML property, but not on my inputxml (QueryRequest). Currently I am using the following schema: http://msdn.microsoft.com/en-us/library/ms545002(v=office.12).aspx. I think I have to promote the whole XML message to be able to assign it to queryXML (but obviously can't). So the assigment shape might bring me forward, but now is the question how to assign a whole message to another message. I am not familiar with this shape, so perhaps this question is easy to answer.

    Meanwhile I am dazzled with the strange complexity of my question. If I invoke this service (search.asmx) from within a .net app I need to write three lines of code: I wonder who takes care of this magic here? Is it the framework?

    SearchWS.QueryService queryService = new SearchWS.QueryService();
    queryService.Credentials = System.Net.CredentialCache.DefaultCredentials;
    resultDS = queryService.QueryEx(QueryPacketXML);

    Sander

    Monday, October 24, 2011 6:20 PM
  • Try the following code in Message Assignment Shape. It uses XPath.

     

    WebRequestMsg.queryXML = xpath(InputMsg,"string(//QueryPacket)");
    

    HTH.

     


    Don't forget to mark the post as answer or vote as helpful if it does, Regards - Sathish Krishnan
    Monday, October 24, 2011 6:48 PM
  • Hi Bali,

    Could please help me one last time. The blog post you reference speaks of:

    The workaround is first create a message in the Orchestration View for the schema type part of multi-part message.

    Here I am lost. What are the steps to create a schema type part of multipart message. How do I do that? If I create a new message I cannot set any properties except for the type. But what type do I choose?

    Sander

     

    Is this resolved or you still facing issues?


    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    My Blog:dpsbali-biztalkweblog
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.
    Monday, October 24, 2011 7:57 PM
  • Hi,

    Well, using the message assignment brought me closer but now I am receiving xlang failures. The result of your xpath(InputMsg,"string(//QueryPacket)"); was a concatenation of all the textvalues in the inputxml. So I changed it to

    Message_1.queryXml = xpath(QueryRequest,"/*[local-name()='QueryPacket' and namespace-uri()='urn:Microsoft.Search.Query']");

    This actually assigns the full input xml (including namespace)  to the queryXML. Unfortunatly, XLang processor does not like this and raises an exception... <QueryPacket xmlns='urn:Microsoft.Search.Query'> was not expected.
    The namespace should be there, I think. But because I cannot see the request schema, I cannot be sure.

    It seems to mysterious.. why can't I view the schema the queryex_Request is expecting? Very difficult to develop/debug this way.

     xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'VSP.Documents.Search.BizTalk_Orchestration1(8d7f01dd-2cb8-40b6-5181-a8d6e4ca3545)'.
    The service instance will remain suspended until administratively resumed or terminated.
    If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
    InstanceId: b5486bd8-3b7a-4f25-8804-83cd5e899081
    Shape name: ConstructMessage_1
    ShapeId: 4b8216fd-5cd4-40e8-8229-5263b7d74acb
    Exception thrown from: segment 1, progress 6
    Inner exception: There is an error in the XML document.
           
    Exception type: InvalidOperationException
    Source: System.Xml
    Target Site: System.Object Deserialize(System.Xml.XmlReader, System.String, System.Xml.Serialization.XmlDeserializationEvents)
    The following is a stack trace that identifies the location where the exception occured

       at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
       at Microsoft.XLANGs.RuntimeTypes.XmlHelpers.ObjectFromXmlDocument(XmlDocument doc, Type t)
       at Microsoft.XLANGs.Core.Value.GetObject(Type t)
       at Microsoft.XLANGs.Core.DotNetPart.ProtectedLoadFrom(Object source)
       at Microsoft.XLANGs.Core.Part.LoadFrom(Object source)
       at Microsoft.XLANGs.Core.Part.XPathAssign(Part sourcePart, String xpath)
       at VSP.Documents.Search.BizTalk_Orchestration1.segment1(StopConditions stopOn)
       at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)
    Additional error information:

            <QueryPacket xmlns='urn:Microsoft.Search.Query'> was not expected.
           
    Exception type: InvalidOperationException
    Source: xxnwyrpa
    Target Site: System.Object Read1_string()
    The following is a stack trace that identifies the location where the exception occured

       at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderString.Read1_string()

            

    Monday, October 24, 2011 8:46 PM
  • Create a XMLDocument variable out of a hard coded string to see if your setup is working or not with the schema you are trying to send. You can try something like the following in the message assignment.

    xmlStrVar = "<QueryPacket><Query><QueryId /><SupportedFormats><Format />
             </SupportedFormats><Context>
                <QueryText />
                <OriginatorContext />
            </Context>
            <Range>
                <StartAt />
                <Count />
            </Range>
            <Properties>
                <Property />
            </Properties>
            <SortByProperties>
                <SortByProperty />
            </SortByProperties>
            <EnableStemming />
            <TrimDuplicates />
            <IncludeSpecialTermResults />
            <IgnoreAllNoiseQuery />
            <IncludeRelevantResults />
            <IncludeHighConfidenceResults />
        </Query>
    </QueryPacket>"
    xslDocumentVar = new System.Xml.XmlDocument();
    xslDocumentVar.LoadXml(xmlStrVar);
    YourRequestMessage = xslDocumentVar
    

     


    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    My Blog:dpsbali-biztalkweblog
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.
    Tuesday, October 25, 2011 2:52 AM
  • Refer to this blog, which explains another approach to convert InputMessage into a string and assign that string to new Message. The below code snippet is based on the blog:
    To create the XML string representation of the message in your orchestration:

    a) In your orchestration create a variable of type System.XML.XMLDocument
    System.XML.XMLDocument varXMLDOC
    
    b) In an expression shape assign the XMLDocument type variable to the message that
    you want to pass to the XMLDocument.
    varXMLDOC = InputMessage;
    
    c) Finally set the message that contains the string parameter that will be passed to the Web Method: 
    WebRequestMsg.queryXML = varXMLDOC.OuterXml;
    

     

    HTH.


    Don't forget to mark the post as answer or vote as helpful if it does, Regards - Sathish Krishnan
    Tuesday, October 25, 2011 4:33 AM
  • Hi Sathish and Bali, thank you so much for your help. I will be trying the options tonight, but I must confince I am thinking I have chosen the wrong way here. Probably using this fixed soap port is no good. There must be other ways (and better ways) to achive me calling a simple (well complex ;-)) sharepoint asmx within BizTalk. If not, I must conclude that BizTalk requires to much complexity for these kinds of simple tasks.

    Sander

    Tuesday, October 25, 2011 9:16 AM
  • I have abandoned the configured soap port. Now I am trying to get this working using simple HTTP adapter, but I am beginning to think there is a problem with the way Biztalk (2010 developer)communicates with sharepoint 2007 webservices. On failed request (sps machine)I get http 500 (and no evenlog entry

    Anyway, thanks for your help.

    Sander


    • Edited by Saaffy Thursday, October 27, 2011 1:27 PM
    Thursday, October 27, 2011 1:26 PM