Hi Malaka,

Thanks for the suggestion.  I think we can introduce a custom listening
inbound endpoint for AS4 message receiving.

Thanks,
Manorama

On Tue, Jul 18, 2017 at 10:14 AM, Malaka Silva <[email protected]> wrote:

>
>
> On Tue, Jul 18, 2017 at 10:04 AM, Manorama Perera <[email protected]>
> wrote:
>
>> 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*
>>
>
> ​Shall we think of a way to do an inbound ep to listen to AS4 messages. In
> most of the cases connectors are used to send / publish massages. ​
>
>>
>> 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/ser
>> vices/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-o
>> pen.org/wss/2004/01/oasis-200401-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/
>>
>
>
>
> --
>
> Best Regards,
>
> Malaka Silva
> Associate Director / Architect
> M: +94 777 219 791 <+94%2077%20721%209791>
> Tel : 94 11 214 5345
> Fax :94 11 2145300
> Skype : malaka.sampath.silva
> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
> Blog : http://mrmalakasilva.blogspot.com/
>
> WSO2, Inc.
> lean . enterprise . middleware
> https://wso2.com/signature
> http://www.wso2.com/about/team/malaka-silva/
> <http://wso2.com/about/team/malaka-silva/>
> https://store.wso2.com/store/
>
> Don't make Trees rare, we should keep them with care
>



-- 
Manorama Perera
Software Engineer
WSO2, Inc.;  http://wso2.com/
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to