Nan,

  The JAX-RPC version 1.0 (JSR-101) is the final release,
and the ver 1.1 is in the Maintenance Draft Review phase on
JCP. Please see <http://www.jcp.org/en/jsr/detail?id=101>.
(Additionally, JAX-RPC 2.0 (JSR-224) has already launched.)

  That's certainly true, if you're using the words of
'soap handler' with a view toward 'SOAP Message Handlers'
in the JAX-RPC specification. In addition, Axis also has
an Axis specific handler-architecture as an incompliance
with the spec.  That's a difficulty of the 'handler'...

  On the other hand, in fact, you're using a .Net server
as the end-point at this time.  Do you want to implement
your program as a JAX-RPC compliant client strictly ?
  Sure, the portability of the code might be better than
the Axis original ...

--
Toshi <[EMAIL PROTECTED]>

On Wed, 15 Oct 2003, Nan Xiong wrote:

> Great Toshi!  Thanks so much, that explains it!  Aagain, I guess
> the soap handler will be a more standard way to access the soap
> header, correct?
> Can you confirm?
> Nan
>
> > -----Original Message-----
> > From: Toshiyuki Kimura [mailto:[EMAIL PROTECTED]
> > Sent: Tuesday, October 14, 2003 11:59 PM
> > To: [EMAIL PROTECTED]
> > Subject: RE: Stub.getHeader(namespace, partname) in axis1.1
> >
> > Nan,
> >
> >   Umm..., you mean the headers.size() equals to zero.
> >
> >   It seems the difference is from the modification on
> > "org/apache/axis/wsdl/toJava/JavaStubWriter.java".
> >
> > Here is the log;
> > [It may affect Axis 1.1 final]
> > .........*.........*.........*.........*.........*.........*
> > Revision 1.114 / Fri Apr 11 12:21:24 2003 UTC
> > Changes since 1.113: +0 -2 lines
> >
> > deprecated Stub.getResponseHeaders() and removed code for that
> > method so that response headers are not automatically reflected
> > back into the global header list for the Stub.  The method will
> > remain in the code because pre-1.1 stubs will reference the
> > method. Updated the stub writer to not generate files referencing
> > getResponseHeaders().
> > .........*.........*.........*.........*.........*.........*
> >
> > [It may affect the nightly build (i.e. the current code)]
> > .........*.........*.........*.........*.........*.........*
> > Revision 1.31 / Thu Aug 7 20:38:22 2003 UTC
> > Changes since 1.30: +39 -1 lines
> >
> > Add back in the ability to get response SOAP headers via the Stub.
> > Add a test case to make sure it works.
> >
> > This was removed in April 2003 to fix the problem where response
> > headers would be placed in the same place as request headers.
> > The solution to that went (way) too far, and in Axis 1.1, you can
> > only get response headers if you have the Call object, which you
> > can get from the Service object, which you *can't* get from the
> > Stub object.
> >
> > Solution is to add 2 new Stub APIs:
> >     public SOAPHeaderElement[] getResponseHeaders()
> >     public SOAPHeaderElement getResponseHeader
> >                               (String namespace, String partName)
> >
> > This makes it explicit that the response headers are separate from
> > the request headers.
> > .........*.........*.........*.........*.........*.........*
> >
> >   You'd better use the latest code, if you want to touch
> > the headers from your stub  -  apologies for the detour.
> >
> > --
> > Toshi <[EMAIL PROTECTED]>
> >
> > -----Original Message-----
> > From: Nan Xiong [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, October 15, 2003 1:35 PM
> > To: [EMAIL PROTECTED]
> > Subject: RE: Stub.getHeader(namespace, partname) in axis1.1
> >
> > Toshi,
> >
> > I dont think the problem is the namespace, since stub.getHeaders()
> > returns 0 size array in axis1.1... so basically somehow, the headers
> > are not in stub anymore in axis1.1.
> > do you have more pointers where problem may be?
> >
> > thanks
> > Nan
> >
> > > -----Original Message-----
> > > From: Toshiyuki Kimura [mailto:[EMAIL PROTECTED]
> > > Sent: Tuesday, October 14, 2003 8:36 PM
> > > To: [EMAIL PROTECTED]
> > > Subject: RE: Stub.getHeader(namespace, partname) in axis1.1
> > >
> > > Nan,
> > >
> > >   Thank you for sending the response message.
> > > I think this is not an intentional behavior. The stub.getHeader()
> > > has never changed between 1.1 RC2 and 1.1 final, and the code is
> > > as follows;
> > >
> > >  public SOAPHeaderElement getHeader(String namespace,String
> > partName){
> > >    for(int i=0;i<headers.size();i++) {
> > >      SOAPHeaderElement header = (SOAPHeaderElement)headers.get(i);
> > >      if(header.getNamespaceURI().equals(namespace) &&
> > >           header.getName().equals(partName))
> > >           return header;
> > >    }
> > >    return null;
> > >  }
> > >
> > >   Please pay attention to the code -
> > >                 "header.getNamespaceURI().equals(namespace)".
> > >
> > >   If the value of header.getNamespaceURI() doesn't equal to
> > > the namespace what you passed, you should get 'null'.
> > > That's a namespace issue, as I guessed.
> > >   You're lucky.  You have a chance to submit a patch, if you
> > > can debug the code.  Please. :-)
> > >
> > > --
> > > Toshi <[EMAIL PROTECTED]>
> > >
> > > -----Original Message-----
> > > From: Nan Xiong [mailto:[EMAIL PROTECTED]
> > > Sent: Wednesday, October 15, 2003 11:12 AM
> > > To: [EMAIL PROTECTED]
> > > Subject: RE: Stub.getHeader(namespace, partname) in axis1.1
> > >
> > > Toshi,
> > >
> > > Thanks for your reply. I'm usng .NET 1.1 (2003).
> > > the soap response from .NET is:
> > >
> > > <?xml version="1.0" encoding="utf-8"?>
> > > <soap:Envelope
> > >  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
> > >  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> > >  xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
> > >   <soap:Header>
> > >    <SessionTokenHeader
> > >      xmlns="http://www.viewstar.com/webservices/2002/11";>
> > >     <Token>
> > >      VE9WXV5HS0zigKZd4oChX05hXMWSXmVswpBWWkbigJ1JSUxMTU9TUV
> > >      NSWFdFWlhiYmNlXV/CqmBlwq1kY2NoamZpaWp0XG5weXXCunx3wqnD
> > >      geKEosuGwrvCvcKzwrhsw4DCssK8wrHCv8K7w4XDiMOHw4rDhg==
> > >     </Token>
> > >    </SessionTokenHeader>
> > >   </soap:Header>
> > >  <soap:Body>
> > >   <LoginResponse
> > >    xmlns="http://www.viewstar.com/webservices/2002/11";>
> > >     <LoginResult>true</LoginResult>
> > >   </LoginResponse>
> > >  </soap:Body>
> > > </soap:Envelope>
> > >
> > > I'm accessing header from Stub as following:
> > >
> > > stub.getHeader("http://www.viewstar.com/webservices/2002/11";,
> > >                "SessionTokenHeader");
> > >
> > > the above call returns null in axis1.1, but returns
> > correctly in axis
> > > 1.1 RC2, against the same .NET service.
> > >
> > > I'm able to work around it using client side handler, but I
> > would like
> > > to know whether this is intentionally disabled?  Will the
> > soap handler
> > > be a perfered way in terms of compliance to jaxrpc spec.
> > >
> > > Thanks
> > > Nan
> > >
> > > > -----Original Message-----
> > > > From: Toshiyuki Kimura [mailto:[EMAIL PROTECTED]
> > > > Sent: Tuesday, October 14, 2003 6:49 PM
> > > > To: [EMAIL PROTECTED]
> > > > Subject: Re: Stub.getHeader(namespace, partname) in axis1.1
> > > >
> > > > Nan,
> > > >
> > > >   I guess that it might be related to a change of handling
> > > > for namespace between RC2 and 1.1 final.  A couple of days
> > > > before, I've met an interop issue - using Axis 1.1 final as
> > > > the server and .Net(InfoPath 2003) as the client.
> > > >
> > > >   Did you snoop the messages ? What's the version of .Net ?
> > > >   Could you post your request/response messages and its WSDL
> > > > files for both using 1.1 RC2 and 1.1 final ?
> > > >
> > > > --
> > > > Toshi <[EMAIL PROTECTED]>
> > > >
> > > > -----Original Message-----
> > > > From: Nan Xiong [mailto:[EMAIL PROTECTED]
> > > > Sent: Wednesday, October 15, 2003 5:46 AM
> > > > To: [EMAIL PROTECTED]
> > > > Subject: Stub.getHeader(namespace, partname) in axis1.1
> > > >
> > > > Hello,
> > > >
> > > > I have a .NET web services that passes session id (a string)
> > > > in the soap header, we were able to use Stub.getHeader(...)
> > > > and Stub.setHeader() to make axis client talking to the .NET
> > > > services using axis1.1 RC2, however, in axis1.1 final release,
> > > > getHeader returns null.  Anybody has the same problem?
> > > > Can someone confirm this is a bug?  or intentionally disabled?
> > > > Whats the alternatives to access the header? (client handler?)
> > > >
> > > > Thanks in advance
> > > > Nan
> > >
> >
>

Reply via email to