I posted this on Biztalk.General but thought it would be appropriate here as
well. I need design help with WSE.
I have a current environment that looks like the following. All tiers are
based on WSE 2.0 SP2.
1. Legacy .NET 1.1 WSE 2.0 SP2 client (.NET 1.1 Windows Forms App)
2. WSE 2.0 WS-Addressing IIS .NET 1.1 perimeter router.
3. Biztalk Server 2004 with WSE 2.0 adapter endpoints routed to/from
perimeter router.
The above configuration has been working great but I have necessary need to
update the client (#1) to .NET 2.0 while maintaining the WSE communication
into BizTalk. It is also desirable to upgrade to BizTalk 2006. What I can
conclude is I need to update to WSE 3.0 as this is supported on .NET 2.0.
That’s fine, but the problem is WSE 2.0 and 3.0 are NOT wire-level
compatible. Being the case, I believe I am faced with 2 options. The WSE
features used are WS-Addressing for routing to/from BizTalk and WS-Security
for simple UsernameToken signing.
Option 1:
Maintain 2 discrete environments. One for legacy WSE 2.0 components and one
for WSE 3.0 components. This is unfeasible both from a maintenance and
licensing perspective as I double my endpoints and would be licensing BizTalk
2004 and BizTalk 2006.
Option 2:
Maintain 2 discrete WS-Addressing routers. One for legacy the other for
updated WSE 3.0 components. Since legacy code and associated endpoints can
not change they continue to route through existing WSE router while the new
..NET 2.0 clients route to the new WSE 3.0 router. Both routers would map to
the same final endpoint, that is, to a WSE 3.0 BizTalk 2006 adapter. Here is
where custom code comes into play because of wire-level incompatibility. On
the BizTalk 2006 WSE endpoints, I would have to intercept the SOAP message on
a custom pipeline and re-write the SOAP message if message originated from a
legacy client. This approach is not ideal but I would have only one instance
of Biztalk and since the routers are light weight and easy to maintain, I
wouldn’t object to this option.
I need solid design advice based on best practices. If anyone has dealt with
WSE interop issues and has any design advice, please respond. I am under a
tight deadline. Thanks.