Hi all,
I've done the initial implementation of the AS4 connector with the
following configuration.
*AS4 send operation configuration*
send operation will convert the incoming soap messages to AS4 compliant
soap messages.
<as4.send>
<pmode>http://wso2.org/examples/agreement0</pmode>
</as4.send>
* pmode* - P-Mode agreement being referred.
*AS4 receive operation configuration*
receive operation will accept the AS4 message with payloads and save the
payloads inside the dataIn folder given in the configuration.
<as4.receive>
<dataIn>as4DataIn</dataIn>
</as4.receive>
* dataIn* - Folder location where the incoming AS4 payloads are
saved to.
The incoming message to the AS4 send connector can be one of the following.
- SOAP message with attachments
- SOAP message with payload in the body. Refer [1] for a sample AS4
payload contained in the soap body.
Here is a complete AS4 sending proxy configuration and AS4 receiving proxy
configuration.
*AS4 message sending proxy configuration*
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="AS4SenderProxy"
transports="http https"
startOnLoad="true">
<description/>
<target>
<inSequence>
<log/>
<as4.send>
<pmode>http://wso2.org/examples/agreement0</pmode>
</as4.send>
<call>
<endpoint>
<address uri="http://localhost:8281/services/AS4ReceiverProxy
"/>
</endpoint>
</call>
<respond/>
</inSequence>
<outSequence>
<log/>
</outSequence>
</target>
</proxy>
*AS4 message receiving proxy configuration*
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="AS4ReceiverProxy"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<log/>
<as4.receive>
<dataIn>as4DataIn</dataIn>
</as4.receive>
<respond/>
</inSequence>
<outSequence/>
</target>
<description/>
</proxy>
Feedback on the above would be highly appreciated.
[1] According to the specification, soap body can contain at most one
payload. Ex:
<S12:Body xmlns:S12="http://www.w3.org/2003/05/soap-envelope"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-2004
01-wss-wssecurity-utility-1.0.xsd"
wsu:Id="_f8aa8b55-b31c-4364-94d0-3615ca65aa40" >
<CrossIndustryInvoice xmlns="urn:un:unece:uncefact:d
ata:standard:CrossIndustryInvoice:2">
<!-- content omitted -->
</CrossIndustryInvoice>
</S12:Body>
Thanks,
Manorama
On Thu, Jul 13, 2017 at 3:14 PM, Manorama Perera <[email protected]> wrote:
> Hi,
>
> AS4 Profile of ebMS 3.0 Version 1.0[1] defines 3 conformance profiles. For
> the initial phase, we are going to implement AS4 Minimal Client Conformance
> Profile.
>
> The transport protocol used in AS4 messaging is HTTP. Hence there's no
> need of introducing AS4 as a new transport.
>
> Considering the features included in the other conformance profiles in[1],
> such as WS-Security, we are going to introduce AS4 support as a Connector
> implementation, so that we can include other required features which are
> described in the remaining two conformance profiles.
>
> [1] http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/
> AS4-profile/v1.0/cs03/AS4-profile-v1.0-cs03.html
>
> Thanks,
> Manorama
>
> On Tue, Jul 4, 2017 at 2:04 PM, Manorama Perera <[email protected]> wrote:
>
>>
>>
>> On Wed, Jun 28, 2017 at 4:49 PM, Manorama Perera <[email protected]>
>> wrote:
>>
>>> Hi all,
>>>
>>> AS4 is a messaging standard which represents an open standard for
>>> exchanging of Business-to-business documents using Web services.
>>>
>>> *AS4 Messaging Model*
>>>
>>> AS4 messaging model defines the following entities.
>>>
>>> *Message Producer*: Business application which sends the message
>>> content to the sending Message Service Handler(MSH).
>>>
>>> *Sending Message Service Handler*: Packages the message content and
>>> sends to the intended receiving MSH.
>>>
>>> *Receiving Message Service Handler*: Receive the message from the
>>> sending MSH.
>>>
>>> *Message Consumer*: The business application which receives the message
>>> content from receiving MSH.
>>>
>>> *P-Mode Parameters*: Message sending and receiving operations are
>>> governed by P-Mode configuration. These are configured in sending and
>>> receiving MSHs.
>>>
>>>
>>>
>>>
>>> The current implementation details of AS4 custom mediator[2] is as
>>> follows.
>>>
>>> - This is in conformance with AS4 Profile of ebMS 3.0 Version 1.0[1].
>>> - The current AS4 implementation only supports features as stated in
>>> the Access Point Implementation Guide (attached).
>>> - One-way / Push Message Exchange Patterns (MEPs) is supported.
>>> - Only the *required* P-Mode Parameters are supported (According to
>>> [1]).
>>>
>>>
>>> *Supported P-Mode Parameters*
>>>
>>>
>>> PMode Parameter
>>>
>>> Supported or not
>>>
>>> PMode.ID
>>>
>>> true
>>>
>>> PMode.Agreement
>>>
>>> true
>>>
>>> PMode.MEP
>>>
>>> true
>>>
>>> PMode.MEPbinding
>>>
>>> true
>>>
>>> PMode.Initiator.Party
>>>
>>> true
>>>
>>> PMode.Initiator.Role
>>>
>>> true
>>>
>>> PMode.Initiator.Authorization.username
>>>
>>> false
>>>
>>> PMode.Initiator.Authorization.password
>>>
>>> false
>>>
>>> PMode.Responder.Party
>>>
>>> true
>>>
>>> PMode.Responder.Role
>>>
>>> true
>>>
>>> PMode.Responder.Authorization.username
>>>
>>> false
>>>
>>> PMode.Responder.Authorization.password
>>>
>>> false
>>>
>>> PMode.Protocol.Address
>>>
>>> true
>>>
>>> PMode.Protocol.SOAPVersion
>>>
>>> true
>>>
>>> PMode.BusinessInfo.Service
>>>
>>> true
>>>
>>> PMode.BusinessInfo.Action
>>>
>>> true
>>>
>>> PMode.BusinessInfo.Properties[]
>>>
>>> false
>>>
>>> PMode.BusinessInfo.PayloadProfile[]
>>>
>>> false
>>>
>>> PMode.BusinessInfo.PayloadProfile.maxSize
>>>
>>> false
>>>
>>> PMode.ErrorHandling.Report.SenderErrorsTo
>>>
>>> false
>>>
>>> PMode.ErrorHandling.Report.ReceiverErrorsTo
>>>
>>> false
>>>
>>> PMode.ErrorHandling.Report.AsResponse
>>>
>>> true
>>>
>>> PMode.ErrorHandling.Report.ProcessErrorNotifyConsumer
>>>
>>> false
>>>
>>> PMode.ErrorHandling.Report.ProcessErrorNotifyProducer
>>>
>>> true
>>>
>>> PMode.ErrorHandling.Report.DeliveryFailuresNotifyProducer
>>>
>>> true
>>>
>>> PMode.Security.WSSVersion
>>>
>>> false
>>>
>>> PMode.Security.X509.Sign
>>>
>>> false
>>>
>>> PMode.Security. X509.Encryption
>>>
>>> false
>>>
>>> PMode.Security.UsernameToken
>>>
>>> false
>>>
>>> PMode.Security.PModeAuthorize
>>>
>>> false
>>>
>>> PMode.Security.SendReceipt
>>>
>>> true
>>>
>>> PMode.Security.SendReceipt.NonRepudiation
>>>
>>> false
>>>
>>> PMode.PayloadService.CompressionType
>>>
>>> true
>>>
>>> PMode.ReceptionAwareness
>>>
>>> true
>>>
>>> PMode.ReceptionAwareness.Retry.Parameters
>>>
>>> true
>>>
>>> AS4 support in EI, will be introduced as a separate transport.
>>>
>>> [1] http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/
>>> AS4-profile/v1.0/os/AS4-profile-v1.0-os.html
>>> [2] https://github.com/manoramahp/org.wso2.carbon.mediator.as4
>>>
>>> Thanks,
>>> Manorama
>>> --
>>> Manorama Perera
>>> Software Engineer
>>> WSO2, Inc.; http://wso2.com/
>>>
>>
>>
>>
>> --
>> Manorama Perera
>> Software Engineer
>> WSO2, Inc.; http://wso2.com/
>>
>
>
>
> --
> Manorama Perera
> Software Engineer
> WSO2, Inc.; http://wso2.com/
>
--
Manorama Perera
Software Engineer
WSO2, Inc.; http://wso2.com/
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture