Publish schema as webservice issue

Home Page Forums BizTalk 2004 – BizTalk 2010 Publish schema as webservice issue

Viewing 1 reply thread
  • Author
    Posts
    • #12457

      I already tried this post in the biztalk newsgroups, but got no replies 🙁

      I have two very simple scenarios:

      [b:6040da0f97]scenario1:[/b:6040da0f97]
      ========

      [i:6040da0f97]- A simple schema contained in an assembly, deployed to my BTS server.
      – A webservice created from that schema. I only configured a request
      schema, so the webservice wizard created a one-way receive SOAP port.
      – A file send port subscribed to message that come in via the SOAP port above.
      – A C# testconsole that generates a message instance and posts it to the webservice.[/i:6040da0f97]

      [b:6040da0f97]scenario2:[/b:6040da0f97]
      ========

      [i:6040da0f97]- The same simple schema from scenario1
      – A second webservice created from that schema. This webservice has both a
      receive and request schema, so the webservice wizard created a request-response
      SOAP port.
      – A C# testconsole that generates a message instance and posts it to the webservice.[/i:6040da0f97]

      When I test scenario 1 everything works fine. I conclude from this that my
      environment (IIS, BTS) and security configuration is correctly set up.
      I also have many orchestrations published as webservices working fine.
      Scenario 2 however keeps returning the error: ‘Internal SOAP processing failure
      –> batch completion failure.

      Anyone a clue on how to solve this? Or at least get me a step further.

      Thanks in Advance,

      R vS

    • #12458

      Hi Stephen,

      Thanks for your reply. Based on your comments I did some testing again.
      I still encounter the problem however. I have everything undeployed on my test box (except for the scenario 2 interface).

      I am also not sure what you mean by ‘Next, make sure your 2nd Orchestration is returning the message.’ because I am not using an orchestration. I only use messaging. Or at least I try to :D. So I am only exposing the schema as a webservice.

      When I look in HAT I see a routing failure. The error indicates ‘This service instance exists to help debug routing failures. The context of the message associated with this instance contains all the promoted properties at the time of the routing failure.’

      Also when using the subscription viewer there is no subscription.

      So my actual question is:

      [i:fe7060b7a1][b:fe7060b7a1]Why isn’t there a subscription created when I expose a schema as a webservice (without orchestration, 2nd option in wizard)?[/b:fe7060b7a1][/i:fe7060b7a1]

      Thanks in advance,

      R vS

      • #12459

        Thanks again for your reply. I still doesn’t work however. I hope you can spend some more minutes helping me out.

        The solution you mentioned in your reply resembles my scenario 1, which is working fine.

        Scenario 2 however, which is still not working, is about request response.
        So a client sends a message to the webservice and waits for a response from that same webservice. In order to do this you have both configure a incoming (request) and outgoing (response) message schema in the webservice publishing wizard. The wizard than creates a two way receive port which is also used to send back the result to the client.

        The wizard works fine and nicely creates a two way receive port.
        When I test this I still encounter the problem.

        This is what I did exactly for scenario 2:

        – Create a simple xsd.
        – Deploy an assembly with this xsd to biztalk.
        – Use webservice wizard to publish the schema as a webservice.
        In the wizard set the xsd for both the request and response.
        Let the wizard create the receive location.
        – Call the webservice using a simple C# client app.

        Thanks a lot,

        R vS

        • #12460

          Well, I have not seen that error before.

          First, I’d make sure you have Scenario 1 totally un-deployed before testing scenario 2.

          Next, make sure your 2nd Orchestration is returning the message. (i.e. do you get this error after 60 or 90 seconds?).

          Last, have you tried exposing the Orchestration as a Web Service or are you just exposing the schemas?

          Best of luck and please keep us updated if you get it working.

          • #12461

            Ok, I got you now.

            No, a subscription is not created when you expose a Schema as a Web Service. All this does is create the Receive Side of things by making a nice web service for you.

            You need to create a Send Port with a Filer. You can set the filter property BTS.ReceivePortName to your port name or set BTS.InboundTransportType = SOAP (I think). Then, make sure it’s enlisted and started. You can just test it by writing it to file.

            A note, if you had exposed an Orchestration you would have a subscription (i.e. the Orchestration).

            Best of luck.

        • #20421

          Hi R vS,

          I am exactly in the same situation and am stuck…did you solve this problem?and if so how was that?

          Cheers

          Sri,Singapore

          • #20424

            What are you doing with the message received from the web service?  With 2 way recieve ports, you need to have some process that consumes the received message and then generates a respnse and delivers it back to the receive port so it can send the response back to the client.  This process can be either an orchestration or a 2 way send port (such as a WCF or SQL port, instead of a FILE port).  If you use a file send port to process a message that comes in from a 2 way receive, the 2 way receive is going to time out because the file send port is 1 way, and doesn’t give a  response.

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