Brian,

 

We are trying to make sure our Jsr181 implementation is correct with
respect to header and soap binding.  Our issue is with JWS method
signature that includes header arguments and their corresponding WSDL's
port type and the soap binding.

 

It seems that when looking at a WSDL (as far as headers are concerns)
there are two cases:

 

a) a wsd:part of a message that is also has a corresponding soap:header
in the bindings.

b) a soap:header in your port type's binding without a corresponding
message part in the port type.

 

 

Our understanding is that port type corresponds to the arguments in your
method signature, and that in case of Soap the binding further declares
if the argument is in the body or the header. 

 

Therefore in case (a) we expect to see the header arguments to be part
of our method signature (as they are defined in the messages associated
with the port type)    On the other hand in the case (b) we don't expect
the method signature to include the soap:header arguments, as they were
not defined in the port type message.  Our expectation is that in case
(b) the header is processed by a handler outside the jws.

 

 

The sample we have in JSR 181 section 5.4.1.3 seems to be of type (a) at
least as far as the java code is concern, but its WSDL is of type (b).
It seem that the  WSDL and JWS files in the section 5.4.1.3 are in
conflict.

 

In our understanding if we want to keep the jws then the "SercurePing"
message should have two parts:  Ping and SecHeader as oppose to just a
Ping.  Or if the WSDL is correct then the securePing method should not
have the SecHeader parameter, in which case there should be a handler
that deals with the SecHeader.

 

Make sense?


Daryoush 

 

 

 

Reply via email to