On 4/19/06,
[EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
I found out that Rad 6 has a validator and the wsdl validates, So I'm
not sure if that is it.
Dave Ziebol
-----Original Message-----
From: robert [mailto:[EMAIL PROTECTED] ]
Sent: Wednesday, April 19, 2006 3:21 PM
To: [email protected]
Subject: Re: Operation changes in Transportation
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/Foundatio
> nS
> 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(loc
> > al
> > Cl
> > assType));
> >
> > elementList.add(new javax.xml.namespace.QName("",
> > "fBaseXMLString"));
> >
> > elementList.add(localFBaseXMLString==null?null:
> >
> > org.apache.axis2.databinding.utils.ConverterUtil.convertToString(loc
> > al
> > FB
> > aseXMLString));
> >
> > return
> > org.apache.axis2.databinding.utils.ADBPullParser.createPullParser(qN
> > am 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
--
