To Henrik Thostrup Jensen

 

I am very sorry for our inconvenient log file and ambiguous indication about name space problem.

 

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, …):

 

<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>

 

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.

 

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.

 

We sincerely ask someone to give us some comments about this problem.

 

Best regards.

 


On Tue, Sep 6, 2011 at 6:09 AM, Henrik Thostrup Jensen <htj@ndgf.org> wrote:
Hi

(sorry for mixing my ndgf and nordunet mail addresses, use htj@nordu.net if in doubt, but they end up the same place :-) ).


On Mon, 5 Sep 2011, ???(YoungWook Cha) wrote:

SyntaxError(Cause : ProviderNSA) was not generated by URN problem.

This error was generated by the name space mismatch.

Okay. Do you think it would be possible to add some information to the log. It is very difficult to understand the errors currently loged.


I want to show you a query message from autoBahn that was recently dumped by our log system.

You can find out that ns2 and ns6 name spaces are defined as attributes of the queryRequest element.

[snip]


The following is a reservationRequest message generated by dynamicKL, which has two name spaces defined as attributes of the reservationRequest element.

[snip]


In case of your message, ns1 is defined in the Envelope element.

On the other hand, default name space("http://schemas.ogf.org/nsi/2011/07/connection/types") is defined in the reservation element.

Will you check out the usage of name spaces?

I fail to see the problem. This is a slightly odd, but semantically okay for specifying the default xml namespace for an element and its children. See http://www.w3.org/TR/xml-names/#defaulting


<SOAP-ENV:Envelope
xmlns:ns0="http://schemas.ogf.org/nsi/2011/07/connection/types"
xmlns:ns1="http://schemas.ogf.org/nsi/2011/07/connection/interface"
xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header/>
  <ns2:Body>
     <ns1:reservationRequest>
        <ns1:correlationId>56561926991634759038257507539181676754</ns1:correlationId>
        <ns1:replyTo>http://orval.grid.aau.dk:7080/NSI/services/ConnectionService</ns1:replyTo>
        <reservation xmlns="http://schemas.ogf.org/nsi/2011/07/connection/types">
           <requesterNSA>urn:ogf:network:nsa:OpenNSA-testclient</requesterNSA>
           <providerNSA>urn:ogf:network:nsa:Martinique-DynamicKL</providerNSA>
           <reservation>

I ran the SOAP envelope through an XML parser, and dumped the tree. It looks like this:

<ns0:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://schemas.ogf.org/nsi/2011/07/connection/interface" xmlns:ns2="http://schemas.ogf.org/nsi/2011/07/connection/types">
  <ns0:Header />
  <ns0:Body>
     <ns1:reservationRequest>
        <ns1:correlationId>urn:uuid:d41e5c6a-d7ff-11e0-ac34-00144f20a8d2</ns1:correlationId>

        <ns1:replyTo>http://orval.grid.aau.dk:7080/NSI/services/ConnectionService</ns1:replyTo>
        <ns2:reservation>
           <ns2:requesterNSA>urn:ogf:network:nsa:OpenNSA-testclient</ns2:requesterNSA>
           <ns2:providerNSA>urn:ogf:network:nsa:Aruba-OpenNSA</ns2:providerNSA>
           <ns2:reservation>
              <ns2:globalReservationId>gid-0962</ns2:globalReservationId>
              <ns2:description>Test Connection</ns2:description>
              <ns2:connectionId>conn-510</ns2:connectionId>
              <ns2:serviceParameters>
                 <ns2:schedule>
                    <ns2:startTime>2011-09-05T20:46:19Z</ns2:startTime>
                    <ns2:endTime>2011-09-05T20:48:19Z</ns2:endTime>
                 </ns2:schedule>
                 <ns2:bandwidth>
                    <ns2:desired>1000</ns2:desired>
                 </ns2:bandwidth>
              </ns2:serviceParameters>
              <ns2:path>
                 <ns2:directionality>unidirectional</ns2:directionality>
                 <ns2:sourceSTP>
                    <ns2:stpId>urn:ogf:network:stp:Aruba:A1</ns2:stpId>
                 </ns2:sourceSTP>
                 <ns2:destSTP>
                    <ns2:stpId>urn:ogf:network:stp:Martinique:M3</ns2:stpId>
                 </ns2:destSTP>
              </ns2:path>
           </ns2:reservation>
        </ns2:reservation>
     </ns1:reservationRequest>
  </ns0:Body>
</ns0:Envelope>

This uses more common xmlns declarations, but is sementically identical. I tried using the above payload instead, but it fails with the same message.

If I'm doing something wrong, could you point it out clearly, and try to show how it should look like instead.



   Best regards, Henrik

 Henrik Thostrup Jensen <htj at ndgf.org>
 NORDUnet / Nordic Data Grid Facility.



--
Jeonghoon Moon
Supercomputing Center
Dept.of Infrastructure Technology Development
KISTI(Korea Institute of Science and Technology Information)

Tel  : +82-42-869-0578
Fax : +82-42-869-0589
H.P : +82-10-2534-6754
Skype : otello90
MSN   : otellomoon@hotmail.com

"Expect Great Things from God
Attempt Great Things for God"