Wcf SWA (SFTI) implementation

SFTI implementation for BizTalk

This project's goal was to create an SFTI implementaion in BizTalk. SFTI is Swedens standard when it comes to electronic invoicing, www.sfti.se.

My solution is based 100% on an custom message encoder that transform's incomming HTTP requests that comes as multipart/related content it also transform's outgoing messages as multipart/related HTTP posts.

As of this writing the solution only supports one invoice at a time both incomming and outgoing wich should cover 99.9% of the current set-up's.

A Acknowledgment in automatically created from the incomming message and if anything is missing according to SFTI/ebXML specification an ErrorList is sent as an response.

The Biztalk.SFTI project contains the schemas for the Invoice and also the property schema that is needed.

The WcfSWA project contains the message encoder. The code for the MIME part is taken from another codeplex project http://wcfswaencoder.codeplex.com/.

To set-up the project do the following
- Build the WcfSWA project and GAC it
- The element extension must be added to the machine config or in BizTalk.
- Build and deploy the Biztalk.SFTI project.
- Create a wcf custom receive port and give it a nice http address.
- Add a customBinding and change the message encoder to SwaMessageEncoder (i know i should change the name). Also change the ContentType to text/xml (because this is what you are sending back to the client).

- Create a wcf custom send port to configure it to send message to the newly created receive port.

- Add a customBinding and change the message encoder to SwaMessageEncoder (i know i should change the name). Also change the ContentType to multipart/related (because this is what you are sending to the client, biztalk itself in this case).

- Use Fiddler to see the HTTP request/respons'es.

Other

The solution does not require any orchestration or any other components except the property schema.

 

Last edited Aug 13, 2012 at 1:24 PM by gfepi, version 3