C1 OnRamp create a UID

Hello,

I’m creating a SOAP document, and I’m supposed to populate a tag with a random GUID.
The GUID is to look like this :
c0684d9c-06cf-46e5-a5da-a5225e5b5152

Example : (check tag <prc:instance>, this is the one that has to be filled in)

<SOAP-ENV:Header xmlns:SOAP-ENV=“[url=“http://schemas.xmlsoap.org/soap/envelope/”]http://schemas.xmlsoap.org/soap/envelope/[/url]”>
<eps:endpoints SOAP-ENV:mustUnderstand=“1” xmlns:biz=“[url=“http://schemas.biztalk.org/btf-2-0/address/types”]http://schemas.biztalk.org/btf-2-0/address/types[/url]” xmlns:eps=“[url=“http://schemas.biztalk.org/btf-2-0/endpoints”]http://schemas.biztalk.org/btf-2-0/endpoints[/url]”>
<eps:to>
<eps:address xmlns:xsi=“[url=“http://www.w3.org/1999/XMLSchema-instance”]http://www.w3.org/1999/XMLSchema-instance[/url]” xsi:type=“bizrganizationName”>25e96cc4-7194-1000-9424-c043a8b40001</eps:address>
</eps:to>
<eps:from>
<eps:address xmlns:xsi=“[url=“http://www.w3.org/1999/XMLSchema-instance”]http://www.w3.org/1999/XMLSchema-instance[/url]” xsi:type=“bizrganizationName”>54887202-7291-1000-9dde-c043a8b40001</eps:address>
</eps:from>
</eps:endpoints>
<prop:properties SOAP-ENV:mustUnderstand=“1” xmlns:prop=“[url=“http://schemas.biztalk.org/btf-2-0/properties”]http://schemas.biztalk.org/btf-2-0/properties[/url]”>
<prop:identity>c0684d9c-06cf-46e5-a5da-a5225e5b5152</prop:identity>
<prop:sentAt>2005-05-18T13:14:09+0-1:00</prop:sentAt>
<prop:expiresAt>2005-05-18T13:54:09+0-1:00</prop:expiresAt>
<prop:topic>rootrder</prop:topic>
</prop:properties>
<prc:process SOAP-ENV:mustUnderstand=“1” xmlns:prc=“[url=“http://schemas.biztalk.org/btf-2-0/process”]http://schemas.biztalk.org/btf-2-0/process[/url]”>
<prc:type>mml:correlationid</prc:type>
<prc:instance>c0684d9c-06cf-46e5-a5da-a5225e5b5152</prc:instance>
<prc:detail>mmlTxMode=peer-peer;;OriginatingMessageId=c0684d9c-06cf-46e5-a5da-a5225e5b5152;;xCblNamespace=urn:x-commerceone:document:com:commerceone:XCBL30:XCBL30.sox$1.0</prc:detail>
</prc:process>
</SOAP-ENV:Header>

I tried services related to cXml but couldn’t find any valid output for my message

Is there something like “pub.soap.utils:createGUID” somewhere ?

WM SOAP Developper guide doesn’t talk much about this, nor is the WM Developper Guide or the Built in reference guide.

Thanks !

====================================================
Technical datas :

IS is version 6.1
Product webMethods Integration Server
Version 6.1
Updates TNS_6-1_Fix15
IS_6-1_SP1
Build Number 132
SSL Strong (128-bit)

C1 OnRamp
Product webMethods B2B OnRamp for Commerce One MarketSite
Version 3.0.18 Release Notes
Build Number 76

OOOOooopss!

Sorry, this is not about C1 OnRamp, it is about SOAP !

However the question remains the same :
Is there something like “pub.soap.utils:createGUID” somewhere ?

Hi Adam,

Thanks for the clue.

I get the following :
package org.doomdark.uuid does not exist
import org.doomdark.uuid.UUID ;

As I’m not used to Java services, your help in creating the service will be greatly appreciated!

thanks a lot!

rangoon,

The following advantage page has a howto for UUID generation.
[url=“http://advantage.webmethods.com/article/?id=1611983294”]http://advantage.webmethods.com/article/?id=1611983294[/url]

-Adam

The PSSamples.zip file linked in the article that Adam refers to in the previous post contains a zip file called “jug.zip” that contains the Doomdark JUG binaries. The sample works pretty well with the exception of a UUID generated from the client’s MAC address.

The Doomdark website appears to be down at present, but a Google cached version seems to indicate that the MAC address issue was fixed in 2004.

While googling for Doomdark, I also learned that JDK 1.5 now supports creation of a UUID using the java.util.UUID class. Of course, that doesn’t help those of us using older JDK versions.

The IBM/BEA sponsored WS-Addressing spec implies in its examples that WSA:MessageID elements should be UUID’s. As this spec gains wider acceptance, we would expect to see the need to generate UUID’s in webMethods IS and ServiceNet increase.

Mark

More on UUID generation. See the java.util.UUID mini-FAQ and the Jakarta Commons ID project.

Mark

Thank you all,

Adam’s solution worked perfectly, that’s great!

cheers!

I think the simplest approach is to use the com.wm.util.UUID.generate() method.
This API is internal to webMethods and is used to publish/subscribe broker events.
May be deprecated in the future but by that time you should be able to use the java.util.UUID (Java 1.5) instead.

I have a question on the returned uuid of com.wm.util.UUID.generate():

See following “table”:

com.wm.util.UUID.generate(): 44e41390d2e62e2f10e911083b4
UUID normalized form: 350874A0-73D0-11DB-B4A0-F431978238AE
bizdoc internal id: 53e785001riukip0000003vj
broker publishable document uuid: 9715b530-73c7-11db-87e5-ae6963fb4cde

Does anyone know about the differences in generating those ids and how to generate them (especially not using jvm 1.5)?

Thanks in advance,
Max.