12 Replies Latest reply on May 22, 2008 12:52 PM by bonio100

    Inerop with Microsoft .NET Framework / WCF

      Hello,

      I am trying to call a .NET, WS-AT-aware web service from a java client with JBossTS.
      The scenario is: Java client opens transaction context, calls the .NET web service and finally commits the transaction.
      When the .NET-WS-AT-Participant tries to enlist to the transaction, I get the following error in my JBoss log:

      com.arjuna.webservices.SoapFault: Sender[[com.arjuna.webservices.transport.http.HttpClient_4] - Invalid response code returned: 403]
       at com.arjuna.webservices.transport.http.HttpClient.invokeRequest(HttpClient.java:202)
       at com.arjuna.webservices.transport.http.HttpClient.invokeOneWay(HttpClient.java:93)
       at com.arjuna.webservices.wsaddr.client.BaseWSAddrClient.sendOneWay(BaseWSAddrClient.java:148)
       at com.arjuna.webservices.wscoor.client.RegistrationRequesterClient.sendRegisterResponse(RegistrationRequesterClient.java:99)
       at com.arjuna.wsc.messaging.RegistrationCoordinatorProcessorImpl.register(RegistrationCoordinatorProcessorImpl.java:125)
       at com.arjuna.webservices.wscoor.handlers.RegisterHandler$1.executeTask(RegisterHandler.java:64)
       at com.arjuna.services.framework.task.TaskWorker.run(TaskWorker.java:65)
       at java.lang.Thread.run(Thread.java:595)


      The URL that was called here is a HTTPS URL, so I wandered if the JBossTS implementation is capable of calling SSL secured participants.
      Of course it is possible that I did not configure SSL, my certificates or something else correctly.

      So can you please tell me if JBossTS generally supports communication with Participants via HTTPS and my configuration is wrong or if interop with .NET WS-AT-aware web services is not possible as those require HTTPS.

      Regards,
      Martin

        • 1. Re: Inerop with Microsoft .NET Framework / WCF

          Hello again,

          thinking again about my question, now I'm sure HTTPS is supported: I managed to enlist an JBossTS participant that is called via HTTPS.
          The problem must be, because when calling the .NET WS-AT-Participant, there is no or not the correct SSL certificate specified for authenticaten.

          So my new question is: How can I specify a client certificate to be used when communcating with a Participant?

          Regards, Martin

          • 2. Re: Inerop with Microsoft .NET Framework / WCF
            marklittle

            HTTPS is an optional part of interoperability of OASIS WS-TX. Only SOAP/HTTP support was mandated. Kevin should be able to fill in more details, since he was one of the interoperability scenario editors, but I think we didn't support HTTPS at the time. We'll obviously look into that in subsequent releases.

            • 3. Re: Inerop with Microsoft .NET Framework / WCF

              Thanks for your reply.

              I know one more detail now: Microsoft's implementation requires not only HTTPS for communication between participants and the transaction coordinator, it even requires mutual authentication using X509 certs.
              So, if JBossTS does not support HTTPS with client certificates, it will not be operable with microsoft's implementation (I don't say it's your fault, I just tell the facts).
              Have you planned support for HTTPS with client certs yet for any release or time?

              Regards,
              Martin

              • 4. Re: Inerop with Microsoft .NET Framework / WCF
                marklittle

                Yes, we will be looking at this. However, I can't give you a timeframe yet.

                • 5. Re: Inerop with Microsoft .NET Framework / WCF
                  kconner

                  All interop testing was done with HTTP and not HTTPS, even for the recent OASIS interop.

                  The standard java classes support HTTPS so we should be able to talk with the microsoft server. Have you looked at the jsse documentation for how to configure this?

                  Kev

                  P.S. Apologies for the delay but I am in the middle of some major work.

                  • 6. Re: Inerop with Microsoft .NET Framework / WCF

                     

                    "Kevin.Conner@jboss.com" wrote:
                    All interop testing was done with HTTP and not HTTPS, even for the recent OASIS interop.

                    Which version of microsoft's implementation was used for the interop?
                    Was it a beta version or the final release, which, as I mentioned, does not support HTTP for communication between transaction coordinator and participants.

                    The standard java classes support HTTPS so we should be able to talk with the microsoft server. Have you looked at the jsse documentation for how to configure this?

                    I did, but I failed. I'm still fighting to make this work...

                    Thanks,
                    Martin

                    • 7. Re: Inerop with Microsoft .NET Framework / WCF
                      kconner

                       

                      "stone_42" wrote:
                      Which version of microsoft's implementation was used for the interop?
                      I'm not sure but I can try and find out. Which version are you using?
                      "stone_42" wrote:
                      I did, but I failed. I'm still fighting to make this work...

                      I will not be able to help much over the next few days but I will give it a go as soon as I can.

                      Kev

                      • 8. Re: Inerop with Microsoft .NET Framework / WCF

                         

                        "Kevin.Conner@jboss.com" wrote:
                        "stone_42" wrote:
                        Which version of microsoft's implementation was used for the interop?
                        I'm not sure but I can try and find out. Which version are you using?

                        I am using the final version.
                        "Kevin.Conner@jboss.com" wrote:
                        "stone_42" wrote:
                        I did, but I failed. I'm still fighting to make this work...

                        I will not be able to help much over the next few days but I will give it a go as soon as I can.

                        I'll be very happy about any help, but I know that there are more important things to do.

                        Martin

                        • 9. Re: Inerop with Microsoft .NET Framework / WCF
                          marklittle

                           

                          "stone_42" wrote:
                          "Kevin.Conner@jboss.com" wrote:
                          All interop testing was done with HTTP and not HTTPS, even for the recent OASIS interop.

                          Which version of microsoft's implementation was used for the interop?
                          Was it a beta version or the final release, which, as I mentioned, does not support HTTP for communication between transaction coordinator and participants.




                          I'm afraid you will have to ask Microsoft that question.

                          • 10. Re: Inerop with Microsoft .NET Framework / WCF

                            Finally, I made ws-tx interoperation between microsoft and JBossTS work.
                            The sole problem was that my ssl keystore was configured incorrect. Having fixed that, ws-tx is working fine.
                            So there's no more need for support on this topic for me, Kevin.
                            Thank you once again for great support.

                            Martin

                            • 11. Re: Inerop with Microsoft .NET Framework / WCF
                              kconner

                              Good news. Thanks for letting us know.

                              Kev

                              • 12. Re: Inerop with Microsoft .NET Framework / WCF
                                bonio100

                                Could you let me know the exact problem here as I am having exactly the same problem :(