Hello,
    I have download the "ws-core-4.0.3-bin.zip" from globus.org. I have included the ws-core libraries in my project classpath but got compiler errors. MyServiceAddressingLocator and MyService cannot be resolved. Is this the right way to integrate ws-core and Axis2 ?
 
I have the following code in my standalone client.
 
String targetEndPoint = "https://medtox.com/eChainTestOrderWebService/eChainTestOrderService.asmx";
 
/* Getting the ConfigurationContext  */
ConfigurationContext ctx =
 ConfigurationContextFactory.createConfigurationContextFromFileSystem("C:\\axis2-1.1-SNAPSHOT\\repository", "C:\\axis2-1.1-SNAPSHOT\\conf\\axis2.xml");           
 
/* Instantiating the Axis2 generated Client Stub */         
 
 EChainTestOrderServiceStub echainStub = new EChainTestOrderServiceStub(ctx,targetEndPoint);
 InsertOrder io = new InsertOrder();
 EChainOrderRequest eor = new EChainOrderRequest();
 eor.setAccountNumber(112236);
 eor.setCustomerAccountReference("");                        
 
 io.setOrderRequest(eor);
 
/* Calling the service method */
 InsertOrderResponse ior = echainStub.InsertOrder(io);
 GetDonorPass getDonorPass = new GetDonorPass();
 getDonorPass.setOrderId( ior.getInsertOrderResult().getOrderNumber() );
 /* Till here works fine */
 
 GetDonorPassResponse donorPass = echainStub.GetDonorPass( getDonorPass );
 
The API described below is completly different.  How can I make use of ws-core SOAP attachments functionality in Axis2?
 
Instead, Is there a way to write Custom Filter to take out the DIME attachment in the SOAP response. If there is, can some one point to the Axis2 API where the SOAP response is first received.so, I could know how the parser is treating a SOAP response and do some manipulation to overcome this problem.
 
I got stuck here and cannot move forward. Any help would be greatly appreciated.
 
Thanks,
Sridhar.
 
   you have to set chunkedEncoding here is a quick example
import org.globus.axis.transport.HTTPUtils;





//assume your service is called 'MyService'

URL url = "" URL("local:///localhost:8080/axis/services/MyService");
MyServiceAddressingLocator locator = new MyServiceAddressingLocator(); MyService port = locator.getMyServicePort(url);

// force HTTP 1.1 (why dont we have a method which setHTTP11Version(port,true) ?
HTTPUtils.setHTTP10Version((Stub)port, false);
//set chunkedEncoding
HTTPUtils.setChunkedEncoding((Stub)port, true);

//Call the hello method from the discovered service port.hello();
for more info please look at

 



On 11/13/06, sridhar vudutha <[EMAIL PROTECTED]> wrote:
Martin,
     Please see below for the descriptor file. I have copied only the Web service method  (GetDonorPass) that's giving me the problem. Not sure if you have seen my previous message, the service provider is attaching DIME content to the header. Is there a way to ignore this attachment?
 
Thanks,
Sridhar.
 
 

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:http=" http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap=" http://schemas.xmlsoap.org/wsdl/soap/ " xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc=" http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://medtox.com/eChainTestOrderWebService/eChainTestOrderService " xmlns:tm=" http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime=" http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace=" http://medtox.com/eChainTestOrderWebService/eChainTestOrderService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/ ">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace=" http://medtox.com/eChainTestOrderWebService/eChainTestOrderService ">

  <s:element name="GetDonorPassResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetDonorPassResult" type="tns:eChainResponse"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="eChainResponse">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="ResponseCreateDate" type="s:dateTime"/>
          <s:element minOccurs="0" maxOccurs="1" name="CustomerOrderNumber1" type="s:string"/>
          <s:element minOccurs="0" maxOccurs="1" name="CustomerOrderNumber2" type="s:string"/>
          <s:element minOccurs="0" maxOccurs="1" name="OrderNumber" type="s:string"/>
          <s:element minOccurs="1" maxOccurs="1" name="CurrentStatusCode" type="s:int"/>
          <s:element minOccurs="1" maxOccurs="1" name="CurrentStatusDate" type="s:dateTime"/>
          <s:element minOccurs="1" maxOccurs="1" name="RequestReturnFlag" type="s:boolean"/>
          <s:element minOccurs="0" maxOccurs="1" name="ResponseMessages" type="tns:ArrayOfEChainMessage"/>
          <s:element minOccurs="0" maxOccurs="1" name="eChainDocuments" type="tns:ArrayOfEChainDocument"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfEChainMessage">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="eChainMessage" nillable="true" type="tns:eChainMessage"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="eChainMessage">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="DataElement" type="s:string"/>
          <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string"/>
          <s:element minOccurs="0" maxOccurs="1" name="ErrorNumber" type="s:string"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfEChainDocument">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="eChainDocument" nillable="true" type="tns:eChainDocument"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="eChainDocument">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Document" type="s:base64Binary"/>
          <s:element minOccurs="1" maxOccurs="1" name="DocumentType" type="tns:DocumentTypes"/>
          <s:element minOccurs="0" maxOccurs="1" name="FileName" type="s:string"/>
          <s:element minOccurs="0" maxOccurs="1" name="MimeType" type="s:string"/>
        </s:sequence>
      </s:complexType>
      <s:simpleType name="DocumentTypes">
        <s:restriction base="s:string">
          <s:enumeration value="Other"/>
          <s:enumeration value="DonorPass"/>
          <s:enumeration value="ChainOfCustody"/>
          <s:enumeration value="ResultFile"/>
        </s:restriction>
      </s:simpleType>     
    </s:schema>
  </wsdl:types>

  <wsdl:message name="GetDonorPassSoapIn">
    <wsdl:part name="parameters" element="tns:GetDonorPass"/>
  </wsdl:message>
  <wsdl:message name="GetDonorPassSoapOut">
    <wsdl:part name="parameters" element="tns:GetDonorPassResponse"/>
  </wsdl:message>
 
  <wsdl:portType name="eChainTestOrderServiceSoap">
    <wsdl:operation name="GetDonorPass">
      <wsdl:input message="tns:GetDonorPassSoapIn"/>
      <wsdl:output message="tns:GetDonorPassSoapOut"/>
    </wsdl:operation>   
  </wsdl:portType>

  <wsdl:binding name="eChainTestOrderServiceSoap" type="tns:eChainTestOrderServiceSoap">
    <soap:binding transport=" http://schemas.xmlsoap.org/soap/http " style="document"/>
 
    <wsdl:operation name="GetDonorPass">
      <soap:operation soapAction=" http://medtox.com/eChainTestOrderWebService/eChainTestOrderService/GetDonorPass" style="document"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
   
  </wsdl:binding>
 
  <wsdl:service name="eChainTestOrderService">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/"/>
    <wsdl:port name="eChainTestOrderServiceSoap" binding="tns:eChainTestOrderServiceSoap">
      <soap:address location="https://test.medtox.com/eChainTestOrderWebService/eChainTestOrderService.asmx"/ >
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>


 
On 11/13/06, Martin Gainty <[EMAIL PROTECTED] > wrote:
Would appear that you have some non-parseable characters in the descriptor provided by .NET?
please display the descriptor file provided by ,NET

M-
This e-mail communication and any attachments may contain confidential and privileged information for the use of the
designated recipients named above. If you are not the intended recipient, you are hereby notified that you have received
this communication in error and that any review, disclosure, dissemination, distribution or copying of it or its
contents
----- Original Message -----
Sent: Monday, November 13, 2006 9:36 AM
Subject: Re: org.apache.axis2.AxisFault: Invalid UTF-8 start byte 0x9d

 
Hello Brennan,
 
Yes, the service is over HTTP.  I copied the SOAP request and sent it using the TCPMon, I got a following exception thrown in the Response Window.
 
javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: Content is not allowed in prolog.
 at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
 at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform (Unknown Source)
 at org.apache.ws.commons.tcpmon.Sender.prettyXML(Sender.java:206)
 at org.apache.ws.commons.tcpmon.Sender.send(Sender.java:190)
 at org.apache.ws.commons.tcpmon.Sender$1.actionPerformed(Sender.java :112)
 at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
 at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
 at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
 at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
 at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
 at java.awt.Component.processMouseEvent(Unknown Source)
 at javax.swing.JComponent.processMouseEvent (Unknown Source)
 at java.awt.Component.processEvent(Unknown Source)
 at java.awt.Container.processEvent(Unknown Source)
 at java.awt.Component.dispatchEventImpl(Unknown Source)
 at java.awt.Container.dispatchEventImpl (Unknown Source)
 at java.awt.Component.dispatchEvent(Unknown Source)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
 at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
 at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
 at java.awt.Container.dispatchEventImpl(Unknown Source)
 at java.awt.Window.dispatchEventImpl(Unknown Source)
 at java.awt.Component.dispatchEvent (Unknown Source)
 at java.awt.EventQueue.dispatchEvent(Unknown Source)
 at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
 at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: org.xml.sax.SAXParseException : Content is not allowed in prolog.
 at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
 at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(Unknown Source)
 ... 29 more
 
If there any configuration settings that I can do to allow the special characters.
 
Thanks,
Sridhar.

 
On 11/10/06, Spies, Brennan <[EMAIL PROTECTED] > wrote:

Assuming that the service is over HTTP, can you look at it through TCPMon (or other sniffer) and see if the charset is defined in the header?

 

 

-----Original Message-----
From: sridhar vudutha [mailto: [EMAIL PROTECTED]]
Sent:
Friday, November 10, 2006 3:43 PM
To: [email protected]
Subject: org.apache.axis2.AxisFault: Invalid UTF-8 start byte 0x9d

 

Hello All,

    When I call one of the web service methods (third party service written in .NET) , the following exception is thrown. I think there might be some characters which the XML Reader doesn't like.

If anybody knows how to over come this problem, that would be  a great help.

I'm using Axis2-1.1-SNAPSHOT, rampart-1.1-SNAPSHOT

org.apache.axis2.AxisFault: Invalid UTF-8 start byte 0x9d (at char #11, byte #-1); nested exception is:

com.ctc.wstx.exc.WstxIOException : Invalid UTF-8 start byte 0x9d (at char #11, byte #-1)

at org.apache.axis2.transport.TransportUtils.createSOAPMessage(

TransportUtils.java:126 )

at org.apache.axis2.transport.TransportUtils.createSOAPMessage(

TransportUtils.java:67 )

at org.apache.axis2.description.OutInAxisOperationClient.send(

OutInAxisOperation.java:381 )

at org.apache.axis2.description.OutInAxisOperationClient.execute(

OutInAxisOperation.java:295 )

at com.choicepoint.labs.EChainTestOrderServiceStub.GetDonorPass(

EChainTestOrderServiceStub.java:358 )

at NewMedToxTest.main(

NewMedToxTest.java:78 )

Caused by:

com.ctc.wstx.exc.WstxIOException : Invalid UTF-8 start byte 0x9d (at char #11, byte #-1)

at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(

WstxInputFactory.java:536 )

at com.ctc.wstx.stax.WstxInputFactory.createSR(

WstxInputFactory.java:589 )

at com.ctc.wstx.stax.WstxInputFactory.createSR(

WstxInputFactory.java:614 )

at com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(

WstxInputFactory.java:312 )

at org.apache.axiom.om.util.StAXUtils.createXMLStreamReader(

StAXUtils.java:56 )

at org.apache.axis2.transport.TransportUtils.createSOAPMessage(

TransportUtils.java:117 )

... 5 more

Caused by:

java.io.CharConversionException : Invalid UTF-8 start byte 0x9d (at char #11, byte #-1)

at com.ctc.wstx.io.UTF8Reader.reportInvalidInitial(

UTF8Reader.java:299 )

at com.ctc.wstx.io.UTF8Reader.read(

UTF8Reader.java:185 )

at com.ctc.wstx.io.ReaderBootstrapper.initialLoad(

ReaderBootstrapper.java:245 )

at com.ctc.wstx.io.ReaderBootstrapper.bootstrapInput(

ReaderBootstrapper.java:132 )

at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(

WstxInputFactory.java:531 )

... 10 more

 

Thanks,

Sridhar.




Reply via email to