I am having a problem with a webservice using Castor objects.

I used the attached xsd to create the objects using castor. When I try
to use client code to get my products I get this axis fault (client
side)

AxisFault
 faultCode: {http://xml.apache.org/axis/}Client
 faultSubcode: 
 faultString: No such operation 'searchParameters'
 faultActor: 
 faultNode: 
 faultDetail: 
        {http://xml.apache.org/axis/}hostname:FED0013160L193

No such operation 'searchParameters'
        at 
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)
        at 
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)
        at 
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1083)
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown 
Source)
        at 
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown
Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
        at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
        at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
        at 
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:226)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:645)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
        at 
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:173)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2719)
        at org.apache.axis.client.Call.invoke(Call.java:2702)
        at org.apache.axis.client.Call.invoke(Call.java:2378)
        at org.apache.axis.client.Call.invoke(Call.java:2301)
        at org.apache.axis.client.Call.invoke(Call.java:1758)
        at 
mil.dia.pko.ws.impl.CKOSoapBindingStub.retrieveProducts(CKOSoapBindingStub.java:205)
        at mil.dia.pko.ws.impl.tester.main(tester.java:69)
 

When  I marshal the SearchParameter object and make my own soap call I
get this error on the server

Jan 31 2005 14:35:26,745 - ERROR org.apache.axis.encoding.DeserializerImpl
 - Unable to marshall between XML and Castor Objects :
unable to find FieldDescriptor for 'searchParameters' in ClassDescriptor of Sear
chParameters
unable to find FieldDescriptor for 'searchParameters' in ClassDescriptor of Sear
chParameters
        at org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.
java:1853)
        at org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.
java:1399)
        at org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.
java:245)
        at org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.
java:182)
        at org.exolab.castor.xml.util.DOMEventProducer.processChildren(DOMEventP
roducer.java:333)
        at org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.
java:247)
        at org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.
java:182)
        at org.exolab.castor.xml.util.DOMEventProducer.start(DOMEventProducer.ja
va:110)
        at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:585)
        at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:699)
        at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:807)
        at org.apache.axis.encoding.ser.castor.CastorDeserializer.onEndElement(C
astorDeserializer.java:62)
        at org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl
.java:502)
        at org.apache.axis.encoding.DeserializationContext.endElement(Deserializ
ationContext.java:1083)
        at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
va:171)
        at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen
t.java:1140)
        at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:238)
        at org.apache.axis.message.RPCElement.getParams(RPCElement.java:386)
        at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider
.java:148)
        at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
319)
        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450
)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
        at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:65
3)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
e.java:301)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:971)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:402)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:305)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:6350)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:317)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
118)
        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3635)
        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2585)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

I been trying to figure this out for a while and it's driving me nuts.


-- 
Ananth T Sarathy
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/"; 
	xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
 <globalConfiguration>
  <parameter name="adminPassword" value="jery"/>
  <parameter name="attachments.Directory" value="C:\bea\user_projects\domains\ckodev\applications\cko\cko\WEB-INF\attachments"/>
  <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
  <parameter name="sendXsiTypes" value="true"/>
  <parameter name="sendMultiRefs" value="true"/>
  <parameter name="sendXMLDeclaration" value="true"/>
  <parameter name="axis.sendMinimizedElements" value="true"/>
  <requestFlow>
   <handler type="java:org.apache.axis.handlers.JWSHandler">
    <parameter name="scope" value="session"/>
   </handler>
   <handler type="java:org.apache.axis.handlers.JWSHandler">
    <parameter name="scope" value="request"/>
    <parameter name="extension" value=".jwr"/>
   </handler>
  </requestFlow>
 </globalConfiguration>
 <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
 <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
 <requestFlow name="checks">
  <handler type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
  <handler type="java:org.apache.axis.handlers.SimpleAuthorizationHandler"/>
 </requestFlow>
 <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
 

 <service name="AdminService" provider="java:MSG">
  <parameter name="allowedMethods" value="AdminService"/>
  <parameter name="enableRemoteAdmin" value="true"/>
  <parameter name="className" value="org.apache.axis.utils.Admin"/>
  <namespace>http://xml.apache.org/axis/wsdd/</namespace>
  <namespace>http://xml.apache.org/axis/wsdd/</namespace>
 </service>

 <service name="Version" provider="java:RPC">
  <parameter name="allowedMethods" value="getVersion"/>
  <parameter name="className" value="org.apache.axis.Version"/>
 </service>
 
  <service name="CKO" provider="java:RPC" style="document" use="literal">
         <parameter name="wsdlTargetNamespace" value="http://xml.ws.pko.dia.mil"/>
      <parameter name="wsdlServiceElement" value="CKOService"/>
      <parameter name="wsdlServicePort" value="CKO"/>
      <parameter name="className" value="mil.dia.pko.ws.impl.CKOSoapBindingImpl"/>
      <parameter name="wsdlPortType" value="CKO"/>
      <operation name="retrieveProducts" qname="retrieveProducts" returnQName="retNS:retrieveProductsReturn" xmlns:retNS="http://xml.ws.pko.dia.mil"; returnType="rtns:ProductSummaries" xmlns:rtns="http://xml.ws.pko.dia.mil"; soapAction="" >
        <parameter qname="pns:in0" xmlns:pns="http://xml.ws.pko.dia.mil"; type="tns:SearchParameters" xmlns:tns="http://xml.ws.pko.dia.mil"/>
      </operation>
      <operation name="retrieveTaxonomy" qname="retrieveTaxonomy" returnQName="retNS:retrieveTaxonomyReturn" xmlns:retNS="http://xml.ws.pko.dia.mil"; returnType="rtns:Taxonomy" xmlns:rtns="http://xml.ws.pko.dia.mil"; soapAction="" >
      </operation>
      <parameter name="allowedMethods" value="retrieveProducts retrieveTaxonomy"/>
      <parameter name="scope" value="Session"/>


      <typeMapping
        xmlns:ns="http://xml.ws.pko.dia.mil";
        qname="ns:DefenseIssues"
        type="java:mil.dia.pko.ws.xml.DefenseIssues"
        serializer="org.apache.axis.encoding.ser.castor.CastorSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.castor.CastorDeserializerFactory"
        encodingStyle=""
      />
      <typeMapping
        xmlns:ns="http://xml.ws.pko.dia.mil";
        qname="ns:ProductSummary"
        type="java:mil.dia.pko.ws.xml.ProductSummary"
        serializer="org.apache.axis.encoding.ser.castor.CastorSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.castor.CastorDeserializerFactory"
        encodingStyle=""
      />
      <typeMapping
        xmlns:ns="http://xml.ws.pko.dia.mil";
        qname="ns:ProductSummaries"
        type="java:mil.dia.pko.ws.xml.ProductSummaries"
        serializer="org.apache.axis.encoding.ser.castor.CastorSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.castor.CastorDeserializerFactory"
        encodingStyle=""
      />
      <typeMapping
        xmlns:ns="http://xml.ws.pko.dia.mil";
        qname="ns:Topic"
        type="java:mil.dia.pko.ws.xml.Topic"
        serializer="org.apache.axis.encoding.ser.castor.CastorSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.castor.CastorDeserializerFactory"
        encodingStyle=""
      />
      <typeMapping
        xmlns:ns="http://xml.ws.pko.dia.mil";
        qname="ns:Taxonomy"
        type="java:mil.dia.pko.ws.xml.Taxonomy"
        serializer="org.apache.axis.encoding.ser.castor.CastorSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.castor.CastorDeserializerFactory"
        encodingStyle=""
      />
      <typeMapping
        xmlns:ns="http://xml.ws.pko.dia.mil";
        qname="ns:DefenseTopicAreas"
        type="java:mil.dia.pko.ws.xml.DefenseTopicAreas"
        serializer="org.apache.axis.encoding.ser.castor.CastorSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.castor.CastorDeserializerFactory"
        encodingStyle=""
      />
      <typeMapping
        xmlns:ns="http://xml.ws.pko.dia.mil";
        qname="ns:SearchParameters"
        type="java:mil.dia.pko.ws.xml.SearchParameters"
        serializer="org.apache.axis.encoding.ser.castor.CastorSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.castor.CastorDeserializerFactory"
        encodingStyle=""
      />
      
       
  </service>
 <transport name="http">
  <requestFlow>
   <handler type="URLMapper"/>
   <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
  </requestFlow>
 </transport>
 <transport name="local">
  <responseFlow>
   <handler type="LocalResponder"/>
  </responseFlow>
 </transport>
</deployment>
<xsd:schema elementFormDefault="qualified" targetNamespace="http://xml.ws.pko.dia.mil"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns="http://xml.ws.pko.dia.mil"; >
    <xsd:element name="DaysWithin">
		<xsd:simpleType>
			<xsd:restriction base="xsd:string">
				<xsd:enumeration value="One Day"/>
				<xsd:enumeration value="Two Days"/>
				<xsd:enumeration value="One Week"/>
				<xsd:enumeration value="Two Weeks"/>
				<xsd:enumeration value="Thirty Days"/>
				<xsd:enumeration value="All"/>
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:element>
	
	<xsd:element name="OrderBy">
		<xsd:simpleType>
			<xsd:restriction base="xsd:string">
				<xsd:enumeration value="Organization"/>
				<xsd:enumeration value="Publication Date"/>
				<xsd:enumeration value="Title"/>
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:element>
	
	<xsd:element name="CountryTrigraph">
		<xsd:simpleType>
			<xsd:restriction base="xsd:string">
				<xsd:maxLength value="3"/>
				<xsd:length value="3"/>
				<xsd:minLength value="3"/>
				<xsd:whiteSpace value="collapse"/>
				<xsd:pattern value="[A-Z][A-Z][A-Z]"/>
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:element>
	
 
	<xsd:complexType  name="searchParameters">
		<xsd:sequence>
			<xsd:element maxOccurs="1" minOccurs="0" ref="CountryTrigraph"/>
			<xsd:element maxOccurs="1" minOccurs="0" name="crisis" type="xsd:string"/>
			<xsd:element maxOccurs="1" minOccurs="1" name="numberOfProducts" type="xsd:int"/>
			<xsd:element maxOccurs="1" minOccurs="0" ref="OrderBy"/>
			<xsd:element maxOccurs="1" minOccurs="0" name="topicID" type="xsd:string"/>
			<xsd:element maxOccurs="1" minOccurs="1" ref="DaysWithin"/>
		</xsd:sequence>
	</xsd:complexType>
 
	
	<xsd:element name="ProductSummary">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="classification" type="xsd:string"/>
				<xsd:element name="organization" type="xsd:string"/>
				<xsd:element name="publicationDate" type="dateTime"/>
				<xsd:element name="summary" type="xsd:string"/>
				<xsd:element name="title" type="xsd:string"/>
				<xsd:element name="url" type="xsd:string"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:element name="ProductSummaries">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element maxOccurs="1" minOccurs="0" name="coreKnowledge" type="xsd:string"/>
				<xsd:element maxOccurs="100" minOccurs="0" ref="ProductSummary"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:element name="Topic">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="dta" nillable="true" type="xsd:string"/>
				<xsd:element name="id" type="xsd:long"/>
				<xsd:element name="name" nillable="true" type="xsd:string"/>
				<xsd:element name="shortName" nillable="true" type="xsd:string"/>
				<xsd:element maxOccurs="unbounded" minOccurs="0" ref="Topic"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:element name="DefenseIssues">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element maxOccurs="unbounded" minOccurs="0" ref="Topic"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:element name="DefenseTopicAreas">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element maxOccurs="unbounded" minOccurs="0" ref="Topic"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:complexType name="Taxonomy">
		<xsd:sequence>
			<xsd:element maxOccurs="1" minOccurs="1" ref="DefenseTopicAreas"/>
			<xsd:element maxOccurs="1" minOccurs="1" ref="DefenseIssues"/>
		</xsd:sequence>	
	</xsd:complexType>
		
</xsd:schema>
/**
 * CKOSoapBindingImpl.java
 * 
 * This file was auto-generated from WSDL by the Apache Axis WSDL2Java emitter.
 */

package mil.dia.pko.ws.impl;

import java.io.StringWriter;

import org.exolab.castor.xml.MarshalException;
import org.exolab.castor.xml.Marshaller;
import org.exolab.castor.xml.ValidationException;

public class CKOSoapBindingImpl implements mil.dia.pko.ws.impl.CKO
{

    public mil.dia.pko.ws.xml.ProductSummaries retrieveProducts(
            mil.dia.pko.ws.xml.SearchParameters in0)
            throws java.rmi.RemoteException
    {
        System.out.println(in0);
        StringWriter wrt=new StringWriter();
        try
        {
            Marshaller.marshal(in0, wrt);
        }
        catch (MarshalException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (ValidationException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println(wrt.getBuffer().toString());
      
        ProductSummariesRetriever pslr = new ProductSummariesRetriever();
        return pslr.retrieve(in0);
    }

    public mil.dia.pko.ws.xml.Taxonomy retrieveTaxonomy()
            throws java.rmi.RemoteException
    {

        return (new TaxonomyRetriever().retrieveTaxonomy());
    }

}
/**
 * CKOSoapBindingStub.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.
 */

package mil.dia.pko.ws.impl;

import java.io.IOException;

import javax.xml.soap.SOAPException;

public class CKOSoapBindingStub extends org.apache.axis.client.Stub implements 
mil.dia.pko.ws.impl.CKO {
    private java.util.Vector cachedSerClasses = new java.util.Vector();
    private java.util.Vector cachedSerQNames = new java.util.Vector();
    private java.util.Vector cachedSerFactories = new java.util.Vector();
    private java.util.Vector cachedDeserFactories = new java.util.Vector();

    static org.apache.axis.description.OperationDesc [] _operations;

    static {
        _operations = new org.apache.axis.description.OperationDesc[2];
        _initOperationDesc1();
    }

    private static void _initOperationDesc1(){
        org.apache.axis.description.OperationDesc oper;
        oper = new org.apache.axis.description.OperationDesc();
        oper.setName("retrieveProducts");
        oper.addParameter(new 
javax.xml.namespace.QName("http://xml.ws.pko.dia.mil";, "in0"), new 
javax.xml.namespace.QName("http://xml.ws.pko.dia.mil";, "SearchParameters"), 
mil.dia.pko.ws.xml.SearchParameters.class, 
org.apache.axis.description.ParameterDesc.IN, false, false);
        oper.setReturnType(new 
javax.xml.namespace.QName("http://xml.ws.pko.dia.mil";, "ProductSummaries"));
        oper.setReturnClass(mil.dia.pko.ws.xml.ProductSummaries.class);
        oper.setReturnQName(new 
javax.xml.namespace.QName("http://xml.ws.pko.dia.mil";, 
"retrieveProductsReturn"));
        oper.setStyle(org.apache.axis.constants.Style.DOCUMENT);
        oper.setUse(org.apache.axis.constants.Use.LITERAL);
        _operations[0] = oper;

        oper = new org.apache.axis.description.OperationDesc();
        oper.setName("retrieveTaxonomy");
        oper.setReturnType(new 
javax.xml.namespace.QName("http://xml.ws.pko.dia.mil";, "Taxonomy"));
        oper.setReturnClass(mil.dia.pko.ws.xml.Taxonomy.class);
        oper.setReturnQName(new 
javax.xml.namespace.QName("http://xml.ws.pko.dia.mil";, 
"retrieveTaxonomyReturn"));
        oper.setStyle(org.apache.axis.constants.Style.DOCUMENT);
        oper.setUse(org.apache.axis.constants.Use.LITERAL);
        _operations[1] = oper;

    }

    public CKOSoapBindingStub() throws org.apache.axis.AxisFault {
         this(null);
    }

    public CKOSoapBindingStub(java.net.URL endpointURL, javax.xml.rpc.Service 
service) throws org.apache.axis.AxisFault {
         this(service);
         super.cachedEndpoint = endpointURL;
    }

    public CKOSoapBindingStub(javax.xml.rpc.Service service) throws 
org.apache.axis.AxisFault {
        if (service == null) {
            super.service = new org.apache.axis.client.Service();
        } else {
            super.service = service;
        }
            java.lang.Class cls;
            javax.xml.namespace.QName qName;
            
            
            java.lang.Class castorsf =
                
org.apache.axis.encoding.ser.castor.CastorSerializerFactory.class;
               java.lang.Class castordf =
                
org.apache.axis.encoding.ser.castor.CastorDeserializerFactory.class;

               
            java.lang.Class enumsf = 
org.apache.axis.encoding.ser.EnumSerializerFactory.class;
            java.lang.Class enumdf = 
org.apache.axis.encoding.ser.EnumDeserializerFactory.class;
            java.lang.Class arraysf = 
org.apache.axis.encoding.ser.ArraySerializerFactory.class;
            java.lang.Class arraydf = 
org.apache.axis.encoding.ser.ArrayDeserializerFactory.class;
            java.lang.Class simplesf = 
org.apache.axis.encoding.ser.SimpleSerializerFactory.class;
            java.lang.Class simpledf = 
org.apache.axis.encoding.ser.SimpleDeserializerFactory.class;
            java.lang.Class simplelistsf = 
org.apache.axis.encoding.ser.SimpleListSerializerFactory.class;
            java.lang.Class simplelistdf = 
org.apache.axis.encoding.ser.SimpleListDeserializerFactory.class;
            qName = new javax.xml.namespace.QName("http://xml.ws.pko.dia.mil";, 
"Taxonomy");
            cachedSerQNames.add(qName);
            cls = mil.dia.pko.ws.xml.Taxonomy.class;
            cachedSerClasses.add(cls);
            cachedSerFactories.add(castorsf);
            cachedDeserFactories.add(castordf);

            qName = new javax.xml.namespace.QName("http://xml.ws.pko.dia.mil";, 
"ProductSummaries");
            cachedSerQNames.add(qName);
            cls = mil.dia.pko.ws.xml.ProductSummaries.class;
            cachedSerClasses.add(cls);
            cachedSerFactories.add(castorsf);
            cachedDeserFactories.add(castordf);

            qName = new javax.xml.namespace.QName("http://xml.ws.pko.dia.mil";, 
"ProductSummary");
            cachedSerQNames.add(qName);
            cls = mil.dia.pko.ws.xml.ProductSummary.class;
            cachedSerClasses.add(cls);
            cachedSerFactories.add(castorsf);
            cachedDeserFactories.add(castordf);

            qName = new javax.xml.namespace.QName("http://xml.ws.pko.dia.mil";, 
"DefenseTopicAreas");
            cachedSerQNames.add(qName);
            cls = mil.dia.pko.ws.xml.DefenseTopicAreas.class;
            cachedSerClasses.add(cls);
            cachedSerFactories.add(castorsf);
            cachedDeserFactories.add(castordf);

            qName = new javax.xml.namespace.QName("http://xml.ws.pko.dia.mil";, 
"SearchParameters");
            cachedSerQNames.add(qName);
            cls = mil.dia.pko.ws.xml.SearchParameters.class;
            cachedSerClasses.add(cls);
            cachedSerFactories.add(castorsf);
            cachedDeserFactories.add(castordf);

            qName = new javax.xml.namespace.QName("http://xml.ws.pko.dia.mil";, 
"Topic");
            cachedSerQNames.add(qName);
            cls = mil.dia.pko.ws.xml.Topic.class;
            cachedSerClasses.add(cls);
            cachedSerFactories.add(castorsf);
            cachedDeserFactories.add(castordf);

            qName = new javax.xml.namespace.QName("http://xml.ws.pko.dia.mil";, 
"DefenseIssues");
            cachedSerQNames.add(qName);
            cls = mil.dia.pko.ws.xml.DefenseIssues.class;
            cachedSerClasses.add(cls);
            cachedSerFactories.add(castorsf);
            cachedDeserFactories.add(castordf);

    }

    protected org.apache.axis.client.Call createCall() throws 
java.rmi.RemoteException {
        try {
            org.apache.axis.client.Call _call =
                    (org.apache.axis.client.Call) super.service.createCall();
            if (super.maintainSessionSet) {
                _call.setMaintainSession(super.maintainSession);
            }
            if (super.cachedUsername != null) {
                _call.setUsername(super.cachedUsername);
            }
            if (super.cachedPassword != null) {
                _call.setPassword(super.cachedPassword);
            }
            if (super.cachedEndpoint != null) {
                _call.setTargetEndpointAddress(super.cachedEndpoint);
            }
            if (super.cachedTimeout != null) {
                _call.setTimeout(super.cachedTimeout);
            }
            if (super.cachedPortName != null) {
                _call.setPortName(super.cachedPortName);
            }
            java.util.Enumeration keys = super.cachedProperties.keys();
            while (keys.hasMoreElements()) {
                java.lang.String key = (java.lang.String) keys.nextElement();
                _call.setProperty(key, super.cachedProperties.get(key));
            }
            // All the type mapping information is registered
            // when the first call is made.
            // The type mapping information is actually registered in
            // the TypeMappingRegistry of the service, which
            // is the reason why registration is only needed for the first call.
            synchronized (this) {
                if (firstCall()) {
                    // must set encoding style before registering serializers
                    _call.setEncodingStyle(null);
                    for (int i = 0; i < cachedSerFactories.size(); ++i) {
                        java.lang.Class cls = (java.lang.Class) 
cachedSerClasses.get(i);
                        javax.xml.namespace.QName qName =
                                (javax.xml.namespace.QName) 
cachedSerQNames.get(i);
                        java.lang.Class sf = (java.lang.Class)
                                 cachedSerFactories.get(i);
                        java.lang.Class df = (java.lang.Class)
                                 cachedDeserFactories.get(i);
                        _call.registerTypeMapping(cls, qName, sf, df, false);
                    }
                }
            }
            return _call;
        }
        catch (java.lang.Throwable _t) {
            throw new org.apache.axis.AxisFault("Failure trying to get the Call 
object", _t);
        }
    }

    public mil.dia.pko.ws.xml.ProductSummaries 
retrieveProducts(mil.dia.pko.ws.xml.SearchParameters in0) throws 
java.rmi.RemoteException {
        if (super.cachedEndpoint == null) {
            throw new org.apache.axis.NoEndPointException();
        }
        org.apache.axis.client.Call _call = createCall();
        _call.setOperation(_operations[0]);
        _call.setUseSOAPAction(true);
        _call.setSOAPActionURI("");
        _call.setEncodingStyle(null);
        _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, 
Boolean.FALSE);
        _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, 
Boolean.FALSE);
        
_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
        _call.setOperationName(new javax.xml.namespace.QName("", 
"retrieveProducts"));

        setRequestHeaders(_call);
        setAttachments(_call);
        java.lang.Object _resp = _call.invoke(new java.lang.Object[] {in0});

        if (_resp instanceof java.rmi.RemoteException) {
            throw (java.rmi.RemoteException)_resp;
        }
        else {
            extractAttachments(_call);
            try {
                return (mil.dia.pko.ws.xml.ProductSummaries) _resp;
            } catch (java.lang.Exception _exception) {
                return (mil.dia.pko.ws.xml.ProductSummaries) 
org.apache.axis.utils.JavaUtils.convert(_resp, 
mil.dia.pko.ws.xml.ProductSummaries.class);
            }
        }
    }

    public mil.dia.pko.ws.xml.Taxonomy retrieveTaxonomy() throws 
java.rmi.RemoteException {
        if (super.cachedEndpoint == null) {
            throw new org.apache.axis.NoEndPointException();
        }
        org.apache.axis.client.Call _call = createCall();
        _call.setOperation(_operations[1]);
        _call.setUseSOAPAction(true);
        _call.setSOAPActionURI("");
        _call.setEncodingStyle(null);
        _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, 
Boolean.FALSE);
        _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, 
Boolean.FALSE);
        
_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
        _call.setOperationName(new javax.xml.namespace.QName("", 
"retrieveTaxonomy"));

        setRequestHeaders(_call);
        setAttachments(_call);
        java.lang.Object _resp = _call.invoke(new java.lang.Object[] {});

        if (_resp instanceof java.rmi.RemoteException) {
            throw (java.rmi.RemoteException)_resp;
        }
        else {
            extractAttachments(_call);
            try {
                return (mil.dia.pko.ws.xml.Taxonomy) _resp;
            } catch (java.lang.Exception _exception) {
                return (mil.dia.pko.ws.xml.Taxonomy) 
org.apache.axis.utils.JavaUtils.convert(_resp, 
mil.dia.pko.ws.xml.Taxonomy.class);
            }
        }
    }

}
/**
 * CKOService.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.
 */

package mil.dia.pko.ws.impl;

public interface CKOService extends javax.xml.rpc.Service {
    public java.lang.String getCKOAddress();

    public mil.dia.pko.ws.impl.CKO getCKO() throws 
javax.xml.rpc.ServiceException;

    public mil.dia.pko.ws.impl.CKO getCKO(java.net.URL portAddress) throws 
javax.xml.rpc.ServiceException;
}
/**
 * CKO.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.
 */

package mil.dia.pko.ws.impl;

public interface CKO extends java.rmi.Remote {
    public mil.dia.pko.ws.xml.ProductSummaries 
retrieveProducts(mil.dia.pko.ws.xml.SearchParameters searchParameters) throws 
java.rmi.RemoteException;
    public mil.dia.pko.ws.xml.Taxonomy retrieveTaxonomy() throws 
java.rmi.RemoteException;
}

Reply via email to