Basic Authentication with client stub
-------------------------------------

                 Key: AXIS2-1143
                 URL: http://issues.apache.org/jira/browse/AXIS2-1143
             Project: Apache Axis 2.0 (Axis2)
          Issue Type: Bug
    Affects Versions: 1.0
         Environment: Windows XP
            Reporter: christopher dang


Used WSDL2Java to generate client stub from the following wsdl:

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/";
 xmlns:reqns="http://www.exampleApp.TrafficAccident.Request.com";
 xmlns:resns="http://www.exampleApp.TrafficAccident.Response.com";
 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
 xmlns:tns="http://www.exampleApp.TrafficAccident.com";
 targetNamespace="http://www.exampleApp.TrafficAccident.com";>
 <types>
  <xsd:schema xmlns:tns="http://www.exampleApp.TrafficAccident.Request.com";
   xmlns:xsd="http://www.w3.org/2001/XMLSchema";
   attributeFormDefault="qualified"
   elementFormDefault="qualified"
   targetNamespace="http://www.exampleApp.TrafficAccident.Request.com";
   xmlns:reqns="http://www.exampleApp.TrafficAccident.Request.com";>
   <xsd:element name="TrafficAccidentRequest" nillable="false">
    <xsd:complexType mixed="false">
     <xsd:sequence>
      <xsd:element name="ACCKEY" nillable="false">
       <xsd:simpleType>
        <xsd:restriction base="xsd:string">
         <xsd:maxLength value="20"/>
         <xsd:whiteSpace value="preserve"/>
        </xsd:restriction>
       </xsd:simpleType>
      </xsd:element>
      <xsd:element name="AGENCY_ID" nillable="false">
       <xsd:simpleType>
        <xsd:restriction base="xsd:string">
         <xsd:maxLength value="20"/>
         <xsd:whiteSpace value="preserve"/>
        </xsd:restriction>
       </xsd:simpleType>
      </xsd:element>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
  </xsd:schema>
  <xsd:schema xmlns:tns="http://www.exampleApp.TrafficAccident.Response.com";
   xmlns:xsd="http://www.w3.org/2001/XMLSchema";
   attributeFormDefault="qualified"
   elementFormDefault="qualified"
   targetNamespace="http://www.exampleApp.TrafficAccident.Response.com";>
   <xsd:element name="TrafficAccidentResponse" nillable="false">
    <xsd:complexType mixed="false">
     <xsd:sequence>
      <xsd:element name="ACCKEY" nillable="false">
       <xsd:simpleType>
        <xsd:restriction base="xsd:string">
         <xsd:maxLength value="20"/>
         <xsd:whiteSpace value="preserve"/>
        </xsd:restriction>
       </xsd:simpleType>
      </xsd:element>
      <xsd:element name="VEHKEY" nillable="false">
       <xsd:simpleType>
        <xsd:restriction base="xsd:string">
         <xsd:maxLength value="20"/>
         <xsd:whiteSpace value="preserve"/>
        </xsd:restriction>
       </xsd:simpleType>
      </xsd:element>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
  </xsd:schema>
 </types>
 <message name="TrafficAccidentResponse">
  <part element="resns:TrafficAccidentResponse" name="ResponseAccident"/>
 </message>
 <message name="TrafficAccidentRequest">
  <part element="reqns:TrafficAccidentRequest" name="RequestAccident"/>
 </message>
 <portType name="TrafficAccidentPort">
  <operation name="TrafficAccident">
   <input message="tns:TrafficAccidentRequest" name="TrAccRequest"/>
   <output message="tns:TrafficAccidentResponse" name="TrAccResponse"/>
  </operation>
 </portType>
 <binding name="TrafficAccidentSoapBinding" type="tns:TrafficAccidentPort">
 <soap:binding style="document"  
transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="TrafficAccident">
   <soap:operation soapAction="" style="document"/>
   <input name="TrAccRequest">
    <soap:body parts="RequestAccident" use="literal"/>
   </input>
   <output name="TrAccResponse">
    <soap:body parts="ResponseAccident" use="literal"/>
   </output>
  </operation>
 </binding>
 <service name="TrafficAccidentService">
  <port binding="tns:TrafficAccidentSoapBinding" name="TrafficAccidentPort">
   <soap:address location="http://citsf.state.co.us:25007/cics/cwba/cwshttpx"/>
  </port>
 </service>
</definitions>

Tried to access the web service with the following code:

public class ws {
   public static void main( String[] args ) {
      try {
         
org.apache.axis2.transport.http.HttpTransportProperties.BasicAuthentication ba =
            new 
org.apache.axis2.transport.http.HttpTransportProperties.BasicAuthentication();
         ba.setPassword( "password" );
         ba.setUsername( "username" );
         com.trafficaccident.exampleapp.www.TrafficAccidentServiceStub stub =
            new com.trafficaccident.exampleapp.www.TrafficAccidentServiceStub();
         org.apache.axis2.client.Options op = 
stub._getServiceClient().getOptions();
         op.setProperty( 
org.apache.axis2.transport.http.HTTPConstants.BASIC_AUTHENTICATION,
                ba );
         op.setProperty( org.apache.axis2.Constants.Configuration.TRANSPORT_URL 
,"http://citsf.state.co.us:25007/cics/cwba/cwshttpx";);
         
com.request.trafficaccident.exampleapp.www.TrafficAccidentRequestDocument doc =
            
com.request.trafficaccident.exampleapp.www.TrafficAccidentRequestDocument.Factory.newInstance();
         
com.request.trafficaccident.exampleapp.www.TrafficAccidentRequestDocument.TrafficAccidentRequest
            req = doc.addNewTrafficAccidentRequest();
         req.setACCKEY( "ACCKEY" );
         req.setAGENCYID( "AGENCYID" );
         stub._getServiceClient().getAxisService().addMessageReceiver( "test",
            new org.apache.axis2.engine.MessageReceiver() {
               public void receive(org.apache.axis2.context.MessageContext mctx 
) {
                  System.out.println( mctx );
               }
         } );
         doc.setTrafficAccidentRequest( req );
         
com.response.trafficaccident.exampleapp.www.TrafficAccidentResponseDocument res 
= stub.TrafficAccident( doc );
         System.out.println( res );
      } catch( Exception e ) {
         e.printStackTrace();
      }
   }
}

Received this error:

org.apache.axis2.AxisFault: problem accessing the parser. Parser already 
accessed!; nested exception is: 
        javax.xml.stream.XMLStreamException: problem accessing the parser. 
Parser already accessed!; nested exception is: 
        org.apache.axis2.AxisFault: problem accessing the parser. Parser 
already accessed!; nested exception is: 
        javax.xml.stream.XMLStreamException: problem accessing the parser. 
Parser already accessed!; nested exception is: 
        org.apache.axis2.AxisFault: problem accessing the parser. Parser 
already accessed!; nested exception is: 
        javax.xml.stream.XMLStreamException: problem accessing the parser. 
Parser already accessed!; nested exception is: 
        org.apache.axis2.AxisFault: problem accessing the parser. Parser 
already accessed!; nested exception is: 
        javax.xml.stream.XMLStreamException: problem accessing the parser. 
Parser already accessed!

        at 
org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231)

        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:643)

        at 
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:355)

        at 
org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:285)

        at 
com.trafficaccident.exampleapp.www.TrafficAccidentServiceStub.TrafficAccident(TrafficAccidentServiceStub.java:139)

        at ws.main(ws.java:30)

Caused by: org.apache.axis2.AxisFault: problem accessing the parser. Parser 
already accessed!; nested exception is: 
        javax.xml.stream.XMLStreamException: problem accessing the parser. 
Parser already accessed!; nested exception is: 
        org.apache.axis2.AxisFault: problem accessing the parser. Parser 
already accessed!; nested exception is: 
        javax.xml.stream.XMLStreamException: problem accessing the parser. 
Parser already accessed!

        at 
org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:335)

        at 
org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:210)

        ... 5 more

Caused by: org.apache.axis2.AxisFault: problem accessing the parser. Parser 
already accessed!; nested exception is: 
        javax.xml.stream.XMLStreamException: problem accessing the parser. 
Parser already accessed!

        at 
org.apache.axis2.transport.http.SOAPOverHTTPSender$AxisSOAPRequestEntity.writeRequest(SOAPOverHTTPSender.java:244)

        at 
org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:495)

        at 
org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:1973)

        at 
org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:993)

        at 
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)

        at 
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)

        at 
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)

        at 
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)

        at 
org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:676)

        at 
org.apache.axis2.transport.http.SOAPOverHTTPSender.send(SOAPOverHTTPSender.java:113)

        at 
org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:329)

        ... 6 more

Caused by: javax.xml.stream.XMLStreamException: problem accessing the parser. 
Parser already accessed!

        at 
org.apache.axiom.om.impl.llom.OMStAXWrapper.next(OMStAXWrapper.java:897)

        at 
org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeNode(StreamingOMSerializer.java:74)

        at 
org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serialize(StreamingOMSerializer.java:59)

        at 
org.apache.axiom.om.impl.util.OMSerializerUtil.serializeByPullStream(OMSerializerUtil.java:469)

        at 
org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:780)

        at 
org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:803)

        at 
org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:774)

        at 
org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:177)

        at 
org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:803)

        at 
org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:392)

        at 
org.apache.axis2.transport.http.SOAPOverHTTPSender$AxisSOAPRequestEntity.handleOMOutput(SOAPOverHTTPSender.java:188)

        at 
org.apache.axis2.transport.http.SOAPOverHTTPSender$AxisSOAPRequestEntity.writeRequest(SOAPOverHTTPSender.java:230)

        ... 16 more




-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to