Have you tried validating this wsdl? I'm getting a "failed parsing schemas into object model, parse error in http://server.foundations.west.thomson.com " error using the SOA editor (no longer easily obtainable - don't know of a free wsdl validator. Trial maybe).
HTH, Robert http://www.braziloutsource.com/ Em Quarta 19 Abril 2006 17:08, o [EMAIL PROTECTED] escreveu: > Here is the WSDL which was fed into WSDL2Java > > <?xml version="1.0" encoding="UTF-8"?> > <wsdl:definitions > targetNamespace="http://server.foundations.west.thomson.com" > xmlns:impl="http://server.foundations.west.thomson.com" > xmlns:intf="http://server.foundations.west.thomson.com" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:wsi="http://ws-i.org/profiles/basic/1.1/xsd" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <wsdl:types> > <schema targetNamespace="http://server.foundations.west.thomson.com" > xmlns="http://www.w3.org/2001/XMLSchema" > xmlns:impl="http://server.foundations.west.thomson.com" > xmlns:intf="http://server.foundations.west.thomson.com" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <element name="retrieveCollectResponse"> > <complexType> > <sequence> > <element name="retrieveCollectReturn" nillable="true" > type="xsd:string"/> > </sequence> > </complexType> > </element> > <element name="retrieveUnique"> > <complexType> > <sequence> > <element name="classType" nillable="true" type="xsd:string"/> > <element name="fBaseXMLString" nillable="true" type="xsd:string"/> > </sequence> > </complexType> > </element> > <element name="retrieveUniqueResponse"> > <complexType> > <sequence> > <element name="retrieveUniqueReturn" nillable="true" > type="xsd:string"/> > </sequence> > </complexType> > </element> > <element name="record"> > <complexType> > <sequence> > <element name="classType" nillable="true" type="xsd:string"/> > <element name="fBaseXMLString" nillable="true" type="xsd:string"/> > </sequence> > </complexType> > </element> > <element name="recordResponse"> > <complexType> > <sequence> > <element name="recordReturn" nillable="true" type="xsd:string"/> > </sequence> > </complexType> > </element> > <element name="retrieveCollect"> > <complexType> > <sequence> > <element name="classType" nillable="true" type="xsd:string"/> > <element name="fBaseXMLString" nillable="true" type="xsd:string"/> > </sequence> > </complexType> > </element> > </schema> > </wsdl:types> > <wsdl:message name="recordResponse"> > <wsdl:part element="impl:recordResponse" name="parameters"/> > </wsdl:message> > <wsdl:message name="retrieveCollectRequest"> > <wsdl:part element="impl:retrieveCollect" name="parameters"/> > </wsdl:message> > <wsdl:message name="retrieveUniqueResponse"> > <wsdl:part element="impl:retrieveUniqueResponse" > name="parameters"/> > </wsdl:message> > <wsdl:message name="retrieveCollectResponse"> > <wsdl:part element="impl:retrieveCollectResponse" > name="parameters"/> > </wsdl:message> > <wsdl:message name="retrieveUniqueRequest"> > <wsdl:part element="impl:retrieveUnique" name="parameters"/> > </wsdl:message> > <wsdl:message name="recordRequest"> > <wsdl:part element="impl:record" name="parameters"/> > </wsdl:message> > <wsdl:portType name="FoundationServicesServer"> > <wsdl:operation name="retrieveCollect"> > <wsdl:input message="impl:retrieveCollectRequest" > name="retrieveCollectRequest"/> > <wsdl:output message="impl:retrieveCollectResponse" > name="retrieveCollectResponse"/> > </wsdl:operation> > <wsdl:operation name="retrieveUnique"> > <wsdl:input message="impl:retrieveUniqueRequest" > name="retrieveUniqueRequest"/> > <wsdl:output message="impl:retrieveUniqueResponse" > name="retrieveUniqueResponse"/> > </wsdl:operation> > <wsdl:operation name="record"> > <wsdl:input message="impl:recordRequest" name="recordRequest"/> > <wsdl:output message="impl:recordResponse" > name="recordResponse"/> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="FoundationServicesServerSoapBinding" > type="impl:FoundationServicesServer"> > <wsdlsoap:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http"/> > <wsdl:operation name="retrieveCollect"> > <wsdlsoap:operation soapAction=""/> > <wsdl:input name="retrieveCollectRequest"> > <wsdlsoap:body use="literal"/> > </wsdl:input> > <wsdl:output name="retrieveCollectResponse"> > <wsdlsoap:body use="literal"/> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="retrieveUnique"> > <wsdlsoap:operation soapAction=""/> > <wsdl:input name="retrieveUniqueRequest"> > <wsdlsoap:body use="literal"/> > </wsdl:input> > <wsdl:output name="retrieveUniqueResponse"> > <wsdlsoap:body use="literal"/> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="record"> > <wsdlsoap:operation soapAction=""/> > <wsdl:input name="recordRequest"> > <wsdlsoap:body use="literal"/> > </wsdl:input> > <wsdl:output name="recordResponse"> > <wsdlsoap:body use="literal"/> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="FoundationServicesServerService"> > <wsdl:port binding="impl:FoundationServicesServerSoapBinding" > name="FoundationServicesServer"> > <!--<wsdlsoap:address > location="http://localhost:9080/FoundationsSoapServ/services/FoundationS > ervicesServer"/> --> > <wsdlsoap:address > location="http://localhost:8080/axis2/services/FoundationServicesServer" > /> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > > -----Original Message----- > From: robert [mailto:[EMAIL PROTECTED] > Sent: Wednesday, April 19, 2006 2:54 PM > To: [email protected] > Subject: Re: Operation changes in Transportation > > Three recommendations: > > 1) Use RC1 : > > http://people.apache.org/~deepal/axis2/1.0-RC1/ > > 2) Put tcpmon (or the soap monitor, though you need to check out the > latest svn and build from source) on the incomming and outgoing > messages to see where the problem is originating. > > 3) Try using XMLBeans instead of ADB - it might solve the problem. > > You seem to be using databinding. Try showing us the wsdl and maybe we > can help. > > HTH, > Robert > http://www.braziloutsource.com/ > > Em Quarta 19 Abril 2006 16:37, o [EMAIL PROTECTED] escreveu: > > Hi, I'm fairly new to Axis, but I pretty much have it working or at > > least I can see (in the eclipse debugger) a message move from my > > client to the server which is also being debugged in Eclipse v3.1 jvm > > = 1.4.2 Tomcat version is 5.0 Axis2 v0.95 > > > > The issue I'm having is an operation is changing from what is set on > > the client and sent to the server and what the server perceives the as > > > > operation requested. > > > > I have a java class which contains 3 methods which are exposed as web > > services. They are placed onto the operation array as follows [0] > > Record [1] RetrieveUnique [2] RetriveCollection > > > > This class could be something as simple as FoundationServicesServer { > > public String Record(String arg1, String arg2) > > { > > String whereAmI + this.getClass().getName() + ".Record()"; > > String msg = whereAmI; > > msg += arg1 + " arg2 is " + arg2; > > System.out.println(msg); > > return msg; > > } > > public String RetriveUnique(String arg1, String arg2) > > { > > String whereAmI + this.getClass().getName() + > > ".RetriveUnique()"; > > String msg = whereAmI; > > msg += arg1 + " arg2 is " + arg2; > > System.out.println(msg); > > return msg; > > } > > public String RetrieveCollection(String arg1, String arg2) > > { > > String whereAmI + this.getClass().getName() + > > ".RetrieveCollection()"; > > String msg = whereAmI; > > msg += arg1 + " arg2 is " + arg2; > > System.out.println(msg); > > return msg; > > } > > } > > > > In my client code the RetrieveUnique operation is requested via the > > following code: > > FoundationServicesServerStub stub = null; > > try > > { > > RetrieveUnique retProto = new RetrieveUnique(); > > retProto.setClassType(prototype.getClass().getName()); > > retProto.setFBaseXMLString(prototype.toString()); > > RetrieveUniqueResponse resp = null; > > stub = new FoundationServicesServerStub(); > > resp = stub.retrieveUnique(retProto); > > log.info(resp.toString()); > > } > > catch (Exception e) > > { > > String msg = whereAmI; > > msg += " Exception encountered of type " + e.getClass().getName() > > + " with a msg of " + e.getMessage(); > > log.info(msg); > > throw new IssueEncounteredException(msg); > > } > > finally > > { > > } > > The RetrieveUnique class which was generated by WSDL2Java is as > > follows: > > /** > > * RetrieveUnique.java > > * > > * This file was auto-generated from WSDL > > * by the Apache Axis2 version: #axisVersion# #today# */ package > > com.thomson.west.foundations.server; > > /** > > * RetrieveUnique bean class > > */ > > public class RetrieveUnique > > implements org.apache.axis2.databinding.ADBBean{ > > > > public static final javax.xml.namespace.QName MY_QNAME = new > > javax.xml.namespace.QName( > > "http://server.foundations.west.thomson.com", > > "retrieveUnique", > > "ns1"); > > /** > > * field for ClassType > > */ > > > > protected java.lang.String localClassType ; > > /** > > * Auto generated getter method > > * @return java.lang.String > > */ > > public java.lang.String getClassType(){ > > return localClassType; > > } > > /** > > * Auto generated setter method > > * @param param ClassType > > */ > > public void setClassType(java.lang.String param){ > > > > this.localClassType=param; > > } > > /** > > * field for FBaseXMLString > > */ > > > > protected java.lang.String localFBaseXMLString ; > > > > /** > > * Auto generated getter method > > * @return java.lang.String > > */ > > public java.lang.String getFBaseXMLString(){ > > return localFBaseXMLString; > > } > > /** > > * Auto generated setter method > > * @param param FBaseXMLString > > */ > > public void setFBaseXMLString(java.lang.String param){ > > > > this.localFBaseXMLString=param; > > } > > /** > > * databinding method to get an XML representation of this object > > * > > */ > > public javax.xml.stream.XMLStreamReader > > getPullParser(javax.xml.namespace.QName qName){ > > > > java.util.ArrayList elementList = new java.util.ArrayList(); > > java.util.ArrayList attribList = new java.util.ArrayList(); > > > > elementList.add(new javax.xml.namespace.QName("", > > "classType")); > > > > elementList.add(localClassType==null?null: > > > > org.apache.axis2.databinding.utils.ConverterUtil.convertToString(local > > Cl > > assType)); > > > > elementList.add(new javax.xml.namespace.QName("", > > "fBaseXMLString")); > > > > elementList.add(localFBaseXMLString==null?null: > > > > org.apache.axis2.databinding.utils.ConverterUtil.convertToString(local > > FB > > aseXMLString)); > > > > return > > org.apache.axis2.databinding.utils.ADBPullParser.createPullParser(qNam > > e, elementList.toArray(), attribList.toArray()); } > > > > /** > > * utility method to http://www.w3.org/2001/XMLSchema-instance > > */ > > > > /** > > * Factory class that keeps the parse method > > */ > > public static class Factory{ > > /** > > * static method to create the object > > */ > > public static RetrieveUnique parse(javax.xml.stream.XMLStreamReader > > reader) throws java.lang.Exception{ > > RetrieveUnique object = new RetrieveUnique(); > > try { > > int event = reader.getEventType(); > > > > //event better be a START_ELEMENT. if not we should go up to the > > start element here > > while (event!= javax.xml.stream.XMLStreamReader.START_ELEMENT) { > > event = reader.next(); > > } > > > > if (!MY_QNAME.equals(reader.getName())){ > > throw new Exception("Wrong QName"); > > } > > > > org.apache.axis2.databinding.utils.SimpleElementReaderStateMachine > > stateMachine1 > > = new > > org.apache.axis2.databinding.utils.SimpleElementReaderStateMachine(); > > javax.xml.namespace.QName startQname1 = new > > javax.xml.namespace.QName( > > "", > > "classType"); > > stateMachine1.setElementNameToTest(startQname1); > > stateMachine1.setNillable(); > > stateMachine1.read(reader); > > object.setClassType( > > stateMachine1.getText()==null?null: > > org.apache.axis2.databinding.utils.ConverterUtil.convertTostring( > > > stateMachine1.getText())); > > > > // Move to a start element > > event = reader.getEventType(); > > while (event!= javax.xml.stream.XMLStreamReader.START_ELEMENT) { > > event = reader.next(); > > } > > > > org.apache.axis2.databinding.utils.SimpleElementReaderStateMachine > > stateMachine2 > > = new > > org.apache.axis2.databinding.utils.SimpleElementReaderStateMachine(); > > javax.xml.namespace.QName startQname2 = new > > javax.xml.namespace.QName( > > "", > > "fBaseXMLString"); > > stateMachine2.setElementNameToTest(startQname2); > > stateMachine2.setNillable(); > > stateMachine2.read(reader); > > object.setFBaseXMLString( > > stateMachine2.getText()==null?null: > > org.apache.axis2.databinding.utils.ConverterUtil.convertTostring( > > > stateMachine2.getText())); > > > > } catch (javax.xml.stream.XMLStreamException e) { > > throw new java.lang.Exception(e); > > } > > > > return object; > > } > > }//end of factory class > > } > > > > When I view the _messageContext.axisOperation.name is "retrieveUnique" > > prior to the _operationClient.execute() call in the generated Stub as > > it should be. > > > > When the request is viewed in the > > FoundationServicesServerMessageReceiverInOut (generated by WSDL2Java) > > I can view the > > msgContext.getOperationContext().getAxisOperation().name is set now > > set to retieveCollect. > > > This is very odd and I'm wondering if there is a bug in my code (more > > then likely) or if this is a bug that I've not found looking around on > > > > the internet regarding Axis2 v0.95. > > > > Anyone else having this issue? > > > > Thanks for any feed back you can offer > > > > Dave Ziebol --
