Announcement

Collapse
No announcement yet.

Web Service Listener Breaking Change in Mirth 3.2.0

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Web Service Listener Breaking Change in Mirth 3.2.0

    We're testing the upgrade from Mirth 3.1.x to 3.2.0 and we've discovered what seems like a breaking change in the Web Service Listener.

    I noticed that the WSDL is completely unchanged which is good. But we have several services sending SOAP messages with a envelope as follows:

    Code:
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <acceptMessage xmlns="http://ws.connectors.connect.mirth.com/">
            <arg0 xmlns="">&lt;test&gt;hello world&lt;/test&gt;</arg0>
        </acceptMessage>
    </s:Body>
    </s:Envelope>
    Note that the namespace of acceptMessage is implicit (no prefix). This has worked fine until now. In Mirth 3.2.0, no message is read by the channel (it's a blank raw message in Mirth Connect Administrator).

    Below the same SOAP envelope but with one minor change: the namespace is assigned a prefix.

    Code:
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <w:acceptMessage xmlns:w="http://ws.connectors.connect.mirth.com/">
            <arg0 xmlns="">&lt;test&gt;hello world&lt;/test&gt;</arg0>
        </w:acceptMessage>
    </s:Body>
    </s:Envelope>
    And this works. From an XML perspective, both are equivalent and should be handled the same.

    We have many services that use code generated from the Web Service Listener's WSDL and so it is not very practical for us to change how it renders and formats the output SOAP envelope.

    Is this a regression? Is the any possible workaround?

  • #2
    This appears to be a Java 8 issue and not a Mirth Connect issue. If you revert to Java 7, then your old format will work.

    Comment


    • #3
      Thanks. I sort of came to the same conclusion.

      Unfortunately we're also using Mirth Appliances which want to be upgraded to Java 8. Is there any way to force Mirth to use Java 7 in case both are installed? Can we contact Mirth Support to uninstall Java 8 from an appliance?

      It sounds like we'll just have to figure out how to update our clients to send the correctly formatted SOAP envelope.

      Comment


      • #4
        Yes, you can contact Mirth Support and they can point Mirth Connect to Java 7 on the appliance. You can provide them a link to this thread.

        Keep in mind that Java 8 is the future and you'll likely have to migrate things eventually anyway.

        One more note is that neither of your examples worked for me in Java 8. If you point one of our WS Sender connectors to your listener, hit Get Operations, and Generate Envelope, this is the envelope I get which works for both Java 7 and 8.

        Code:
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.connectors.connect.mirth.com/">
           <soapenv:Header/>
           <soapenv:Body>
              <ws:acceptMessage>
                 <!--Optional:-->
                 <arg0>?</arg0>
              </ws:acceptMessage>
           </soapenv:Body>
        </soapenv:Envelope>

        Comment


        • #5
          What is the most recent version of Java that does not have this issue?

          Comment


          • #6
            Final Solution

            Hi,

            I have the same problem, i install Mirth 3.2 with Java 8 and
            when i publish a soap web service in Mirth and invoke those web
            service, the raw data is empty.

            Thanks

            Comment


            • #7
              Any solution?

              Hi,

              I'm using Mirth 3.2.0 and just updated from Java 7 to 8. I have the same issue: messages received from the WebServiceListener are empty.
              I tried by updating Mirth to 3.3.1, no luck.

              Besides downgrading Java, is there any solution for this?

              Thank you!

              Comment


              • #8
                see link below for a solution applicable in a .NET context

                http://stackoverflow.com/questions/4...50494#37350494

                Comment


                • #9
                  In Mirth Connect 3.3, you can set the SOAP binding to 1.1 or 1.2 specifically. So maybe setting it to 1.1 will fix the problem you're having.
                  Step 1: JAVA CACHE...DID YOU CLEAR ...wait, ding dong the witch is dead?

                  Nicholas Rupley
                  Work: 949-237-6069
                  Always include what Mirth Connect version you're working with. Also include (if applicable) the code you're using and full stacktraces for errors (use CODE tags). Posting your entire channel is helpful as well; make sure to scrub any PHI/passwords first.


                  - How do I foo?
                  - You just bar.

                  Comment


                  • #10
                    I realize this is an old thread, but I'm experiencing this issue in 3.4.1 with java 8. Is there any way to get this working with 8? Is this specific to > Mirth 3.2?

                    Comment


                    • #11
                      I believe it is specific to Java 8. Regenerating the client code should solve the issue.

                      Comment


                      • #12
                        Any solution?

                        Have exactly the same problem. Using Mirth 3.4.2.8129 and Java 1.8.0_51
                        Any solutions or work around ?
                        Time to solve this issue ?
                        Thanks

                        Comment

                        Working...
                        X