Hi Nigel,
>
> The issue is still not resolved.
>
> Doing
> List details = se.getFault().getDetails(); with catch block does not
> produce anything as details.size() is zero.
>
> Also, i set interceptor as follows
>
> ByteArrayOutputStream request = new ByteArrayOutputStream(4096);
> ByteArrayOutputStream response = new ByteArrayOutputStream(4096);
> try{
> String m_location = "
> http://webservices.ticketvala.com/axis2/services/WSTicketvala";
> IBindingFactory fac = BindingDirectory.getFactory(GetCityDetails.class);
> SoapClient client = new SoapClient(m_location, fac);
> client.setOperationName("urn:wsGetCity");
> CopiedInputStreamInterceptor inputInterceptor = new
> CopiedInputStreamInterceptor(response);
> CopiedOutputStreamInterceptor outputInterceptor = new
> CopiedOutputStreamInterceptor(request);
> TransportOptions transportOptions =
> TransportDirectory.newTransportOptions(m_location);
> if(transportOptions instanceof OutputStreamInterceptable) {
>
> ((OutputStreamInterceptable)transportOptions).setOutputStreamInterceptor(outputInterceptor);
> }
> if(transportOptions instanceof InputStreamInterceptable) {
>
> ((InputStreamInterceptable)transportOptions).setInputStreamInterceptor(inputInterceptor);
> }
> client.setTransportOptions(transportOptions);
> GetCityDetails city = new GetCityDetails();
> Authenticate aut = new Authenticate();
> aut.setGid("1");
> aut.setPwd("faregugly@mmyt");
> aut.setUid("faregugly");
> city.setAuth(aut);
> client.addInFaultDetailsHandler(new ExceptionReader());
> /* client.setSoapFaultResolver(new SoapFaultResolver() {
> @Override
> public Object handleFault(SoapFault arg0) {
> // System.out.println(arg0.getFaultCode().getUri());
> return null;
> }
> });*/
> Object obj = client.call(city);
> }catch(SoapFaultException se) {
> System.out.println("request "+request);
> System.out.println("response "+response);
> /*System.out.println("Error "+se.getFault()+" "+
> se.getFault().getFaultString()+" "+se.getMessage()+
> " "+se.getFault().getFaultCode().getUri()+" "+
> se.getFault().getFaultCode().getName());*/
> List details = se.getFault().getDetails();
> if(details.size() > 0) {
> System.out.println("details");
> for(Iterator itr = details.iterator() ; itr.hasNext();) {
> System.out.println(itr.next());
> }
> }
> }catch(Exception e) {
> e.printStackTrace();
> }
> }
>
> The above code produces following output
>
> request
> <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/
> "><SOAP:Body><wsGetCity><wsGetCityRQ><wsAuthenticate><userId>faregugly</userId><groupId>1</groupId><password>faregugly@mmyt
> </password></wsAuthenticate></wsGetCityRQ></wsGetCity></SOAP:Body></SOAP:Envelope>
>
> response
> <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="
> http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><faultstring>unknown</faultstring><detail
> /></soapenv:Fault></soapenv:Body></soapenv:Envelope>
>
> The exception throws at the line client.call(city). The request xml is
> prepared well and all data are correct.
>
> Kindly help.
>
> Thanks
> Deepak
>
> On Tue, Mar 15, 2011 at 12:13 AM, <
> jibx-users-requ...@lists.sourceforge.net> wrote:
>
>> Send jibx-users mailing list submissions to
>> jibx-users@lists.sourceforge.net
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>> https://lists.sourceforge.net/lists/listinfo/jibx-users
>> or, via email, send a message with subject or body 'help' to
>> jibx-users-requ...@lists.sourceforge.net
>>
>> You can reach the person managing the list at
>> jibx-users-ow...@lists.sourceforge.net
>>
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of jibx-users digest..."
>>
>>
>> Today's Topics:
>>
>> 1. Re: Starting Jibx (Nigel Charman)
>>
>>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Tue, 15 Mar 2011 07:42:48 +1300
>> From: Nigel Charman <nigel.charman...@gmail.com>
>> Subject: Re: [jibx-users] Starting Jibx
>> To: JiBX users <jibx-users@lists.sourceforge.net>
>> Message-ID: <4d7e61a8.6050...@gmail.com>
>> Content-Type: text/plain; charset="utf-8"
>>
>> Hi Deepak
>>
>> Please try the following within the SoapFaultException catch block
>> (copied from the soap-fault-trace example):
>>
>> System.err.println("SOAP Fault");
>> System.err.println("----------");
>> System.err.println(e.getFault());
>> List details = se.getFault().getDetails();
>> if (details.size()> 0) {
>> System.err.println();
>> System.err.println("Details");
>> System.err.println("-------");
>> for (Iterator iterator = details.iterator();
>> iterator.hasNext();) {
>> System.err.println(iterator.next());
>> }
>> }
>>
>> If you want to use a custom SoapFaultResolver, you will need to call
>> client.setSoapFaultResolver(...) before calling client.call(city).
>>
>> If this doesn't help, you'll need to get a copy of the request and
>> response messages for further diagnosis. You can do this by either:
>>
>> 1. Using JiBX/WS interceptors - see example [1], or
>> 2. Using a monitoring proxy, such as Apache TCPMon
>>
>> cheers
>> Nigel
>>
>> [1]
>>
>> http://jibx.svn.sourceforge.net/viewvc/jibx/jibxws/trunk/examples/http-servlet-interceptor/build/src/org/jibx/ws/example/interceptor/client/HelloClient.java?revision=450&content-type=text%2Fplain
>>
>>
>> On 15/03/11 07:14, Deepak Singh wrote:
>> > Hi Nigel,
>> >
>> > Changing the code as suggested by you again produces
>> > SoapFaultException. Details as follows,
>> >
>> > try{
>> > IBindingFactory fac = BindingDirectory.getFactory(GetCityDetails.class);
>> > SoapClient client = new
>> > SoapClient("
>> http://webservices.ticketvala.com/axis2/services/WSTicketvala",
>> > fac);
>> > client.setOperationName("urn:wsGetCity");
>> > GetCityDetails city = new GetCityDetails();
>> > Authenticate aut = new Authenticate();
>> > aut.setGid("1");
>> > aut.setPwd("faregugly@mmyt");
>> > aut.setUid("faregugly");
>> > city.setAuth(aut);
>> > client.addInFaultDetailsHandler(new ExceptionReader());
>> > Line 31- Object obj = client.call(city);
>> > client.setSoapFaultResolver(new SoapFaultResolver() {
>> > @Override
>> > public Object handleFault(SoapFault arg0) {
>> > System.out.println(arg0.getFaultCode().getUri());
>> > return null;
>> > }
>> > });
>> > }catch(SoapFaultException se) {
>> > System.out.println("Error "+se.getFault()+"
>> > "+se.getFault().getFaultString()+" "+se.getMessage());
>> > se.printStackTrace();
>> > }catch(Exception e) {
>> > e.printStackTrace();
>> > }
>> > }
>> >
>> > Running this program produces the following output
>> >
>> > Error soapenv:Server - unknown unknown unknown
>> > org.jibx.ws.soap.SoapFaultException: unknown
>> > at org.jibx.ws.soap.client.SoapClient.handleFault(SoapClient.java:428)
>> > at org.jibx.ws.soap.client.SoapClient.call(SoapClient.java:418)
>> > at com.jibx.gwt.shared.TestJibx.main(TestJibx.java:31)
>> >
>> > Kindly suggest how to resolve this.
>> >
>> > Thanks
>> > Deepak
>> >
>> >
>> >
>> > On Mon, Mar 14, 2011 at 1:36 PM,
>> > <jibx-users-requ...@lists.sourceforge.net
>> > <mailto:jibx-users-requ...@lists.sourceforge.net>> wrote:
>> >
>> > Send jibx-users mailing list submissions to
>> > jibx-users@lists.sourceforge.net
>> > <mailto:jibx-users@lists.sourceforge.net>
>> >
>> > To subscribe or unsubscribe via the World Wide Web, visit
>> > https://lists.sourceforge.net/lists/listinfo/jibx-users
>> > or, via email, send a message with subject or body 'help' to
>> > jibx-users-requ...@lists.sourceforge.net
>> > <mailto:jibx-users-requ...@lists.sourceforge.net>
>> >
>> > You can reach the person managing the list at
>> > jibx-users-ow...@lists.sourceforge.net
>> > <mailto:jibx-users-ow...@lists.sourceforge.net>
>> >
>> > When replying, please edit your Subject line so it is more specific
>> > than "Re: Contents of jibx-users digest..."
>> >
>> >
>> > Today's Topics:
>> >
>> > 1. Re: Starting Jibx (Nigel Charman)
>> >
>> >
>> >
>> ----------------------------------------------------------------------
>> >
>> > Message: 1
>> > Date: Mon, 14 Mar 2011 21:05:55 +1300
>> > From: Nigel Charman <nigel.charman.nz
>> > <http://nigel.charman.nz>@gmail.com <http://gmail.com>>
>> > Subject: Re: [jibx-users] Starting Jibx
>> > To: JiBX users <jibx-users@lists.sourceforge.net
>> > <mailto:jibx-users@lists.sourceforge.net>>
>> > Message-ID: <4d7dcc63.90...@gmail.com
>> > <mailto:4d7dcc63.90...@gmail.com>>
>> > Content-Type: text/plain; charset="utf-8"
>> >
>> > Hi Deepak
>> >
>> > Since this is a SOAP service, you should use SoapClient rather than
>> > PoxClient. The POX interface simply transports Plain Old XML
>> payloads
>> > without the additional SOAP constructs (see
>> > http://jibx.sourceforge.net/jibxws/pox.html).
>> >
>> > The following WSDL implies that the SOAP service is requiring a
>> > SOAPAction header set to "urn:wsGetCity".
>> >
>> > <wsdl:operation name="wsGetCity">
>> > <wsdl:input message="tns:wsGetCityMessage"
>> > wsaw:Action="urn:wsGetCity"/>
>> >
>> > To set this header, you'll need to change your code from:
>> >
>> > Client client = new
>> > PoxClient("
>> http://webservices.ticketvala.com/axis2/services/WSTicketvala",
>> > fac);
>> > ...
>> >
>> > to
>> >
>> > SoapClient client = new
>> > SoapClient("
>> http://webservices.ticketvala.com/axis2/services/WSTicketvala",
>> > fac);
>> > client.setOperationName("urn:wsGetCity");
>> > ...
>> >
>> > If this still fails with a SOAPFault, catch the SoapFaultException
>> and
>> > call getFault() and getMessage() for details of the fault.
>> >
>> > cheers
>> > Nigel
>> >
>> > On 14/03/11 09:50, Deepak Singh wrote:
>> > > Hi Dennis,
>> > >
>> > > I downloaded the latest jibx-ws-0.9.1 and tried my webservices
>> with
>> > > this one. Details is as follows,
>> > >
>> > > I have a wsdl file at
>> > >
>> http://webservices.ticketvala.com/axis2/services/WSTicketvala?wsdl
>> > > Pls hit the url above to see the wsdl file. here there are
>> different
>> > > methods to invoke. I try with single method wsGetCity.
>> > >
>> > > I need to invoke this method to get the response. Xml for
>> > request and
>> > > response is as follows,
>> > >
>> > > request.xml
>> > >
>> > > <wsGetCity>
>> > >
>> > > **
>> > >
>> > > <wsGetCityRQ>
>> > >
>> > > <wsAuthenticate>
>> > >
>> > > <userId>xyz</userId>
>> > >
>> > > <groupId>1</groupId>
>> > >
>> > > <password>xyz</password>
>> > >
>> > > </wsAuthenticate>
>> > >
>> > > </wsGetCityRQ>
>> > >
>> > > </wsGetCity>
>> > >
>> > >
>> > > similarly response.xml has its own format.
>> > >
>> > >
>> > > I created datamodel and binding file for request.xml as follows,
>> > >
>> > > public class GetCityDetails {
>> > >
>> > > public GetCityDetails() {
>> > >
>> > > }
>> > >
>> > > private Authenticate auth;
>> > >
>> > >
>> > > public Authenticate getAuth() {
>> > >
>> > > return auth;
>> > >
>> > > }
>> > >
>> > >
>> > > public void setAuth(Authenticate auth) {
>> > >
>> > > this.auth = auth;
>> > >
>> > > }
>> > >
>> > > }
>> > >
>> > >
>> > > public class Authenticate {
>> > >
>> > >
>> > > public Authenticate() {
>> > >
>> > >
>> > > }
>> > >
>> > >
>> > > private String uid;
>> > >
>> > > private String gid;
>> > >
>> > > private String pwd;
>> > >
>> > > public String getUid() {
>> > >
>> > > return uid;
>> > >
>> > > }
>> > >
>> > > public void setUid(String uid) {
>> > >
>> > > this.uid = uid;
>> > >
>> > > }
>> > >
>> > > public String getGid() {
>> > >
>> > > return gid;
>> > >
>> > > }
>> > >
>> > > public void setGid(String gid) {
>> > >
>> > > this.gid = gid;
>> > >
>> > > }
>> > >
>> > > public String getPwd() {
>> > >
>> > > return pwd;
>> > >
>> > > }
>> > >
>> > > public void setPwd(String pwd) {
>> > >
>> > > this.pwd = pwd;
>> > >
>> > > }Exception
>> > >
>> > > }
>> > >
>> > >
>> > > binding.xml
>> > >
>> > > <?xml version="1.0" encoding="UTF-8"?>
>> > >
>> > > <binding>
>> > >
>> > > <mapping name="wsGetCity"
>> class="com.jibx.gwt.shared.GetCityDetails"
>> > > ordered="false">
>> > >
>> > > <structure name="wsGetCityRQ" usage="optional">
>> > >
>> > > <structure name="wsAuthenticate" field="auth" usage="optional">
>> > >
>> > > <value name="userId" field="uid" usage="optional"></value>
>> > >
>> > > <value name="groupId" field="gid" usage="optional"></value>
>> > >
>> > > <value name="password" field="pwd" usage="optional"></value>
>> > >
>> > > </structure>
>> > >
>> > > </structure>
>> > >
>> > > </mapping>
>> > >
>> > > </binding>
>> > >
>> > >
>> > > I run the jibx compiler jibx 1.2.2 as eclipse plugin and
>> compilation
>> > > successful.
>> > >
>> > >
>> > > Now i create the client to invoke the method wsGetCity
>> > >
>> > >
>> > > IBindingFactory fac =
>> > BindingDirectory.getFactory(GetCityDetails.class);
>> > >
>> > > Client client = new
>> > >
>> > PoxClient("
>> http://webservices.ticketvala.com/axis2/services/WSTicketvala",
>> > > fac);
>> > >
>> > > GetCityDetails city = new GetCityDetails();
>> > >
>> > > Authenticate aut = new Authenticate();
>> > >
>> > > aut.setGid("1");
>> > >
>> > > aut.setPwd("faregugly@mmyt");
>> > >
>> > > aut.setUid("faregugly");
>> > >
>> > > city.setAuth(aut);
>> > >
>> > > client.call(city);
>> > >
>> > >
>> > > Now at the last line, client.call(city), i get the exception as
>> > > org.jibx.ws.transport.WsTransportException: 500 Internal Server
>> > Error
>> > >
>> > > I tried with SoapClient also but got SoapFault exception.
>> > >
>> > > Kindly request you to find out my mistake. Am i passing correct
>> > url to
>> > > PoxClient ?
>> > >
>> > > Also, is this the correct way to consume webservice methods at
>> > client
>> > > side?
>> > >
>> > > Kindly explain the concept a bit.
>> > >
>> > > Thanks
>> > > Deepak
>>
>
------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
jibx-users mailing list
jibx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users