BizTalk 2006 - consuming web service using HTTPS without client-side certificate

I am sending messages to a client's web service using HTTP transport over a dynamic send port - this works fine. Now I need to move to a secure (HTTPS) transport.

When I specify HTTPS as the transport in the Microsoft.XLANGs.BaseTypes.Address, the adapter does not promote the SOAP envelope properties to the message context (probably because HTTPS is not a recognized transport-type).

The Core Documentation directs to use the HTTP transport type and the presence of a certificate will trigger the adapter to automatically switch to HTTPS - but my client does not use client-side certificates.

How can I direct the send port/adapter to use HTTPS when we are not using certificates ?

Thanks.

[1112 byte] By [BillB_01] at [2008-3-1]
# 1

Couple of questions...

  1. Are you on BizTalk 2006 R2 or some other version of the product?
  2. Have you verified which adapter the message goes to when you do the Dynamic send over HTTPS?
  3. What errors show up in the event log (if any). Can you send me the event log?
  4. Can you give me a pointer to the documentation where you got the above quoted information about the certificate usage resulting in https?
  5. Can you send me a BizTalk trace log of the problem? Instructions can be found at http://msdn2.microsoft.com/en-us/library/aa561459.aspx. Please use the "trace.cmd -start -high" option instead of just "trace.cmd -start".
JonCole-MSFT at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 Adapters and Adapter Pack...
# 2

Jon,

We are running the current production BizTalk Server 2006 (not R2).

The only thing I see in the event log is the "Internal Server Error 500" returned from my partner's host. When they turned-logging, the SOAP header was not correct (did not have proper value for SOAPAction etc. When I look at context for message sent to HTTP://xyz.com, it has all SOAP envelope properties. When I change the send address to https://xyz.com, those properties are not present.

When I use a static send port, it works with no certificate if i specify transporttype = SOAP and the url= https://xyz.com, but I don't know how to do this with dynamic send port there is not a separate transport-type property to set in expression-shape. I tried soap://https://xyz.com, and that failed miserably.

Check the documentation index under HTTP -> Client Certificates. That is about the closest I could find. I also tried Google, not a whole lot there, but that was where i got the idea to try static port with Soap transport and https:// as url.

Where do you want me to send the log and the trace? I do not see a way to attach them to this post.

Thanks,

BillB_01 at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 Adapters and Adapter Pack...
# 3

As long as the files aren't huge, you can send the log / traces to my e-mail account: joncole at microsoft dot com. If they are big, then you will need to post them on a website or ftp server, then send me a link.

Also, can you send me the code you have in your expression shape where you are trying to setup the dynamic send?

JonCole-MSFT at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 Adapters and Adapter Pack...
# 4

Jon,

Upon further testing, I found that the orchestration was routing my message to a send port which was not created with the WebReference-type. This is a straight (one way) send port designed for file transport, msmq, etc.

When I fixed the error in the orchestration and sent the message to the correct (web-typed) port, the HTTPS in the transport worked correctly and sent a valid message to my partner using SSL.

Thanks for your help.

BillB_01 at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 Adapters and Adapter Pack...