All, I generated a request through OpenDRAC and here is the format of the reservation message. I have compared it to Henrik's message and there is definitely an issue with the "<ns6:reservation>" in my message and the "<ns0:reservation>" in his message since they are from two separate namespaces. If you look in the file ogf_nsi_connection_interface_v1_0.wsdl you will see that ReservationRequestType is referencing the reservation message definition (ref="types:reservation") from the type namespace. This means that <ns6:reservation> shown below is correct. Henrik's implementation seems to be using the interface namespace. Looks like there is a bug in his SOAP stack. Now we can get around it but I will need to modify the WSDL definition to not reference elements, but use imported types instead. This will require everyone to make changes to their implementations. I assume this is too risky for Rio... John. <?xml version='1.0' encoding='utf-8'?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns5:reservationRequest xmlns:ns6="http://schemas.ogf.org/nsi/2011/07/connection/types" xmlns:ns5="http://schemas.ogf.org/nsi/2011/07/connection/interface" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns3="http://www.w3.org/2001/04/xmlenc#" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"> <ns5:correlationId>urn:uuid:5d2a2bc0-a51a-4418-b5d4-322807247593</ns5:correlationId> <ns5:replyTo>http://localhost:8084/nsi-v1/ConnectionServiceRequester</ns5:replyTo> <ns6:reservation> <requesterNSA>urn:ogf:network:nsa:ferb.surfnet.nl</requesterNSA> <providerNSA>urn:ogf:network:nsa:phineas.surfnet.nl</providerNSA> <sessionSecurityAttr> <ns4:Attribute NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" Name="globalUserName"> <ns4:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">jrv@internet2.edu</ns4:AttributeValue> </ns4:Attribute> </sessionSecurityAttr> <reservation> <globalReservationId>urn:ogf:network:service:1ae919be-bff0-4053-bf1f-3b629f694197</globalReservationId> <description>This is a test schedule connecting Aiden to Ashley</description> <connectionId>urn:uuid:5d2a2bc0-a51a-4418-b5d4-322807247593</connectionId> <serviceParameters> <schedule> <startTime>2011-09-08T00:00:00.000-04:00</startTime> <endTime>2011-09-09T00:00:00.000-04:00</endTime> </schedule> <bandwidth> <desired>200</desired> </bandwidth> </serviceParameters> <path> <directionality>Bidirectional</directionality> <sourceSTP> <stpId>urn:ogf:network:stp:Aruba:Aiden</stpId> </sourceSTP> <destSTP> <stpId>urn:ogf:network:stp:Aruba:Ashley</stpId> </destSTP> </path> </reservation> </ns6:reservation> </ns5:reservationRequest> </S:Body> </S:Envelope> ----- Original Message -----
From: "Henrik Thostrup Jensen" <htj@nordu.net> To: "jeonghoon moon" <otello90@gmail.com> Cc: "Henrik Thostrup Jensen" <htj@ndgf.org>, "???(YoungWook Cha)" <ywcha@andong.ac.kr>, "Jerry Sobieski" <jerry@nordu.net>, "JongUk Kong" <jonguk.kong@gmail.com>, "John MacAuley" <john.macauley@surfnet.nl>, "NSI Working Group" <nsi-wg@ogf.org> Sent: Tuesday, September 6, 2011 9:26:39 AM Subject: Re: [Nsi-wg] Open dynamicKL NSA
Hi again
On Tue, 6 Sep 2011, jeonghoon moon wrote:
I am very sorry for our inconvenient log file and ambiguous indication about name space problem.
We are all trying to figure out what is going on here :-).
We developed our web services with JAX-WS2.0 based Metro engine, which supports WSDL to Java generation tool.
To confirm the usage of name spaces in NSI messages, we also used AXIS2 and CFX engines to generate two more Java source codes from the WSDL document.
All three engines generated the same reservationRequest message which has two name spaces as attributes of the reservationRequest element and does not have prefixes for all children elements(e.g., requesterNSA, providerNSA, …):
Mm... okay. I am using SUDS. So far I have found two bugs in SUDS. It is quite likely that there are more.
<ns5:reservationRequest xmlns:ns2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns3="http://www.w3.org/2001/04/xmlenc#" xmlns:ns4="http://www.w3.org/2000/09/xmldsig#" xmlns:ns5="http://schemas.ogf.org/nsi/2011/07/connection/interface" xmlns:ns6="http://schemas.ogf.org/nsi/2011/07/connection/types"> <ns5:correlationId>78729d97-8264-4a4b-ad53-8fec5ad529fb</ns5:correlationId> <ns5:replyTo>http://220.69.240.218:2000/kreonet/ConnectionServiceRequester</ns5:replyTo> <ns6:reservation> <requesterNSA>urn:ogf:network:NSnetwork:kreonet</requesterNSA> <providerNSA>urn:ogf:network:NSnetwork:dynamicKL</providerNSA> <reservation>
This strikes me as incorrect. I would expect a default namespace declaration or an explicit namespace in front of the requesterNSA, providerNSA, and reservation elements.
But I could very well be wrong.
Our implementation utilizes Metro engine to parse NSI messages.
For your latest trail with ns2 name space for all children elements of reservation element,
Metro engine returns null value when our implementation asks it to parse requesterNSA element of your reservationRequest message.
Syntax error was marked in our log because of null value.
We also have great difficulty to understand why Metro engine returns null value.
When we use AXIS2(Jaxb) to parse your message, it returns an exception with unexpected element cause.
Since you have tried two different implementations it does point to the SOAP stack I'm using. However my impression from reading the WSDL manually is that everything under the <ns6:reservation> should be under the xmlns:ns6="http://schemas.ogf.org/nsi/2011/07/connection/types namespace as well.
John, can you comment here?
To fix out this problem, we are studying unprefixed attribute (http://www.rpbourret.com/xml/NamespaceMyths.htm#myth4), but we felt deeply our limitation about WSDL and name space knowledge.
This is my first venture into WSDL as well, so I am puzzled as well.
We sincerely ask someone to give us some comments about this problem.
+1 from here as well.
Best regards, Henrik
Henrik Thostrup Jensen <htj at ndgf.org> NORDUnet / Nordic Data Grid Facility.