[BP-ebMS-H-000] Welke versie van Hermes moet er gebruikt worden? Gebruik altijd de laatste versie omdat er serieuse bug-fixes in kunnen zitten. Check altijd de release notes en openstaande bugs. Er is een “Hermes 2.0 Discussion List” forum waarin problemen gemeld en besproken kunnen worden. http://groups.google.com/group/cecid-hermes2 Hermes heeft sinds april 2008 een eigen forum, maar dat is tot op heden nog erg leeg. http://community.cecid.hku.hk/index.php/forums/
[BP-ebMS-H-001] Hoe kan in Hermes een partner opgevoerd worden aan de hand van een CPA? Dit wordt beschreven in "Hermes 2 Administration Tool User Guide", paragraaf 5.4.2. Partnership (Blz 19). Het scherm "Add New Partnership" moet worden ingevuld. Partnership ID:
Een eigen identificatienummer van de overeenkomst.
CPA ID:
De waarde van het attribuut ‘cpaid’ van het element CollaborationProtocolAgreement. Voorbeeld:
Service:
De waarde van het element Service. Voorbeeld: urn:services:reflecteren:1:0
Action:
De waarde van het attribuut ‘action’ in het element ThisPartyActionBinding. Voorbeeld:
Transport Endpoint:
Het atribuut ‘uri’ van het element Endpoint van de TransportReceiver. Voorbeeld: … …
De bovenstaande instelling verschillen per partij per overeenkomst. De onderstaande instelling zijn voor het OSB profiel ‘reliable messaging’ vooraf bepaald. De waardes voor ‘Maximum Retries’ en ‘Retry Interval’ kunnen afwijken van de hieronder gegeven waardes. Dit kan per action verschillen, maar zal eerder een uitzondering zijn. De waardes worden bepaald door de gewenste QoS van de overdracht. Hostname Verified in SSL: Sync Reply Mode: Acknowledgement Requested: Ack. Signed Requested: Duplicate Elimination: Message Order: Signing Required: Encryption Required: Maximum retries: Retry Interval (ms):
Yes None Always Never Always Not Guaranteed No No 8 PT3H = 3*3600 = 10800
Als er meerdere actions in een CPA staan, zal er meerdere keren een “Add New Partnership” doorlopen moeten worden met dezelfde waardes, behalve een andere Action waarde.
MessageOrder Als er gebruik gemaakt wordt van MessageOrder, houdt er dan rekening mee dat het falen van de overdracht van één enkel bericht de gehele berichtenstroom zal stoppen. Met andere woorden: kies met zorg de waardes voor de retryCount en retryInterval. Deze waardes moeten afgestemd zijn met de business processen. Omdat het achtergrond processen zijn ligt het niet voor de hand om korte tijden te hanteren (ook al is dat “gevoelsmatig” misschien prettig).
[BP-ebMS-H-002] Hoe wordt in Hermes de rol informatie verwerkt? Hermes ondersteund standaard geen rol informatie. Om dit toch mogelijk te maken heeft de leverancier van Hermes een kleine wijziging voorgesteld die reeds met succes is toegepast. De wijziging is terug te vinden op (13 juni 2007): http://groups.google.com/group/cecidhermes2/browse_thread/thread/301815155042b919/2807c3f73faf6bc4?lnk=gst
De wijziging betreft 5 regels code: 1. Modify the EbmsMessageSenderService.java in EbMS plugin. 2. Add web service parameters "fromRole" and "toRole" for external to set the ebms from/to role. Extract them in the SenderService by adding codes shown below: String fromRole = getText(bodies, "fromRole"); <-- add this. String toRole = getText(bodies, "toRole"); <-- add this Add the above two code after Element [] bodies = request.getBodies(); 3. Set the from/to role after adding the corresponding party id shown below: for (int i = 0; i < fromPartyIds.length; i++) { msgHeader.addFromPartyId(fromPartyIds[i], fromPartyTypes[i]); } msgHeader.setFromRole(fromRole); <-- add this for (int i = 0; i < toPartyIds.length; i++) { msgHeader.addToPartyId(toPartyIds[i], toPartyTypes[i]); } msgHeader.setToRole(toRole); <-- add this 4. Recompile the EbMS plugin as SPA and put it back in the H2O plugin folders. 5. Finish ! Now the sender service should able to set the ebms role when the connected application provide two extra parameters "fromRole" and "toRole" when invocating the sender web service.
Het is niet bekend wanneer Hermes deze functionaliteit standaard in hun product inbouwd.
[BP-ebMS-H-003] Hoe wordt in Hermes de service type informatie verwerkt? Hermes ondersteunt de service type informatie vanuit de (interne) webservice interface vanaf de versie van juli 2007. De wijziging is terug te vinden op (10 juli 2007): http://groups.google.com/group/cecidhermes2/browse_thread/thread/5b66a6a51b6f3dda/5afebaf4c828acbb?lnk=gst De wijziging betreft een paar regels code: If you have the Hermes source it is not too difficult to change the service implemented in: hk.hku.cecid.ebms.spa.service.EbmsMessageSenderService to also accept a serviceType tag that is later used in the msgHeader.setService(service) call. The "msgHeader" variable references a class that does implement the possibility to specify service type: hk.hku.cecid.ebms.pkg.MessageHeader, method setService(String serviceName, String serviceType). The new call would be: msgHeader.setService(service, serviceType); This would involve updating the WSDL and documentation to include the new <serviceType/> tag. Another approach is to patch your Hermes to use "string" as the default service type instead of current null, on line 918 of hk.hku.cecid.ebms.pkg.MessageHeader.java change: setService(serviceName, null); to: setService(serviceName, "string"); and you will get the desired eb:type="string" attribute in your outgoing messages.
Het is bekend wanneer Hermes deze functionaliteit standaard in hun product ingebouwd heeft: H2O updated on July 30, 2007 Van: Ronnie Kwok <[email protected]> Datum: Mon, 30 Jul 2007 09:47:31 -0000 Lokaal: ma 30 jul 2007 11:47 Onderwerp: H2O updated on July 30, 2007 Hello, An update on H2O is released, this version has fixed the issues on TTL, Timestamp in ebMS. Also, we have modified the webservice interface which you can now define the service type as one of the argument.
sender
Please refer to the change list on the download page for the details of changes. Have fun! ronnie