After a search through a series of WS-related sites, I modified my web-service.xml file (not via Xdoclet, unfortunately), to contain a type-def for an ARRAY of the complex type in question. However, the same error seems to occur. I think it may have something to do with the fact that Axis is deploying the complex type without a prefix and the Array of that type with the default ns1: prefix.
How can I link the two definitions together?
web-service.xml
<?xml version="1.0" encoding="UTF-8" ?>
- <!--
-->
- <!-- This JBoss.Net Web Service Descriptor has been generated by XDoclet
-->
- <!-- and is brought to you by F. M. Brier, C. G. Jung and J. Essington
-->
- <!--
-->
- <deployment name="cert" xmlns="http://xml.apache.org/axis/wsdd/" targetNamespace="http://cvs.east.frontiercorp.com/cert" xmlns:cert="http://cvs.east.frontiercorp.com/cert" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
- <!--
The following are declarations of service endpoints targetted to
session beans
-->
- <service name="ListProvider" provider="Handler">
<parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider" />
<parameter name="beanJndiName" value="cap/cert/ejb/ListProviderLocalEjb" />
<parameter name="allowedMethods" value="getList getListValue" />
- <requestFlow name="ListProviderRequest">
- <handler type="java:org.jboss.net.axis.server.JBossAuthenticationHandler">
<parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
<parameter name="validateUnauthenticatedCalls" value="false" />
</handler>
- <handler type="java:org.jboss.net.axis.server.JBossAuthorizationHandler">
<parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
<parameter name="allowedRoles" value="Cert_Admin, Cert_User, Cert_ReadOnly" />
</handler>
- <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
-->
<handler type="java:org.jboss.net.axis.server.TransactionRequestHandler" />
</requestFlow>
- <responseFlow name="ListProviderResponse">
- <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
-->
<handler type="java:org.jboss.net.axis.server.SerialisationResponseHandler" />
<handler type="java:org.jboss.net.axis.server.TransactionResponseHandler" />
</responseFlow>
</service>
- <service name="NpaNxxTest" provider="Handler">
<parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider" />
<parameter name="beanJndiName" value="cap/cert/ejb/NpaNxxTestEjbLocal" />
<parameter name="allowedMethods" value="getNpaNxxTest getNpaNxxObjectTest" />
- <operation name="getNpaNxxTest" returnQName="MapGreeting">
<parameter name="npa" />
<parameter name="nxx" />
</operation>
- <operation name="getNpaNxxObjectTest" returnQName="NpaNxxGreeting">
<parameter name="npa" />
<parameter name="nxx" />
</operation>
- <requestFlow name="NpaNxxTestRequest">
- <handler type="java:org.jboss.net.axis.server.JBossAuthenticationHandler">
<parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
<parameter name="validateUnauthenticatedCalls" value="false" />
</handler>
- <handler type="java:org.jboss.net.axis.server.JBossAuthorizationHandler">
<parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
<parameter name="allowedRoles" value="Cert_Admin, Cert_User, Cert_ReadOnly" />
</handler>
- <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
-->
<handler type="java:org.jboss.net.axis.server.TransactionRequestHandler" />
</requestFlow>
- <responseFlow name="NpaNxxTestResponse">
- <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
-->
<handler type="java:org.jboss.net.axis.server.SerialisationResponseHandler" />
<handler type="java:org.jboss.net.axis.server.TransactionResponseHandler" />
</responseFlow>
</service>
- <service name="WebServiceTest" provider="Handler">
<parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider" />
<parameter name="beanJndiName" value="cap/cert/ejb/WebServiceTestEjbLocal" />
<parameter name="allowedMethods" value="getName" />
- <operation name="getName" returnQName="Greeting">
<parameter name="Name" />
</operation>
- <requestFlow name="WebServiceTestRequest">
- <handler type="java:org.jboss.net.axis.server.JBossAuthenticationHandler">
<parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
<parameter name="validateUnauthenticatedCalls" value="false" />
</handler>
- <handler type="java:org.jboss.net.axis.server.JBossAuthorizationHandler">
<parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
<parameter name="allowedRoles" value="Cert_Admin, Cert_User, Cert_ReadOnly" />
</handler>
- <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
-->
<handler type="java:org.jboss.net.axis.server.TransactionRequestHandler" />
</requestFlow>
- <responseFlow name="WebServiceTestResponse">
- <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
-->
<handler type="java:org.jboss.net.axis.server.SerialisationResponseHandler" />
<handler type="java:org.jboss.net.axis.server.TransactionResponseHandler" />
</responseFlow>
</service>
- <service name="ComplexWebServiceTest" provider="Handler">
<parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider" />
<parameter name="beanJndiName" value="cap/cert/ejb/ComplexWebServiceTestEjbLocal" />
<parameter name="allowedMethods" value="getName getMap getUser" />
- <operation name="getName" returnQName="Greeting">
<parameter name="Name" />
</operation>
- <operation name="getMap" returnQName="MapGreeting">
<parameter name="someData" />
</operation>
- <operation name="getUser" returnQName="UserGreeting">
<parameter name="name" />
</operation>
- <requestFlow name="ComplexWebServiceTestRequest">
- <handler type="java:org.jboss.net.axis.server.JBossAuthenticationHandler">
<parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
<parameter name="validateUnauthenticatedCalls" value="false" />
</handler>
- <handler type="java:org.jboss.net.axis.server.JBossAuthorizationHandler">
<parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
<parameter name="allowedRoles" value="Cert_Admin, Cert_User, Cert_ReadOnly" />
</handler>
- <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
-->
<handler type="java:org.jboss.net.axis.server.TransactionRequestHandler" />
</requestFlow>
- <responseFlow name="ComplexWebServiceTestResponse">
- <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
-->
<handler type="java:org.jboss.net.axis.server.SerialisationResponseHandler" />
<handler type="java:org.jboss.net.axis.server.TransactionResponseHandler" />
</responseFlow>
</service>
- <!--
The following are typemappings for entity beans for implementing
the implicit web-service value-object pattern
-->
- <!-- The following are typemappings for bean-type value-objects
-->
<typeMapping qname="cert:User" type="java:com.frontiercorp.bss.cap.cert.webservice.User" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
<typeMapping qname="cert:NpaNxxTest" type="java:com.frontiercorp.bss.cap.cert.webservice.NpaNxxTest" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
<typeMapping qname="cert:ArrayOfNpaNxxTest" type="java:com.frontiercorp.bss.cap.cert.webservice.NpaNxxTest[]" serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://cvs.east.frontiercorp.com/cert" />
- <!-- There follow merged custom web service descriptions
-->
</deployment>
WSDL for NpaNxxTest service:
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://localhost:8080/jboss-net/services/NpaNxxTest" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/jboss-net/services/NpaNxxTest" xmlns:intf="http://localhost:8080/jboss-net/services/NpaNxxTest" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://cvs.east.frontiercorp.com/cert" xmlns:tns2="http://net.jboss.org/jmx" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:types>
- <schema targetNamespace="http://cvs.east.frontiercorp.com/cert" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
- <complexType name="User">
- <sequence>
<element name="name" nillable="true" type="xsd:string" />
</sequence>
</complexType>
- <complexType name="NpaNxxTest">
- <sequence>
<element name="BILLING_CODE" nillable="true" type="xsd:string" />
<element name="PRODUCT_NM" nillable="true" type="xsd:string" />
<element name="TARIFF_AMT" nillable="true" type="xsd:string" />
<element name="TARIFF_PRODUCT_DESC" nillable="true" type="xsd:string" />
</sequence>
</complexType>
- <complexType name="ArrayOfNpaNxxTest">
- <complexContent>
- <restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:NpaNxxTest[]" />
</restriction>
</complexContent>
</complexType>
</schema>
- <schema targetNamespace="http://net.jboss.org/jmx" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
- <simpleType name="ObjectNameType">
- <simpleContent>
<extension base="xsd:string" />
</simpleContent>
</simpleType>
</schema>
- <schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
- <complexType name="mapItem">
- <sequence>
<element name="key" nillable="true" type="xsd:string" />
<element name="value" nillable="true" type="xsd:string" />
</sequence>
</complexType>
- <complexType name="Map">
- <sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem" />
</sequence>
</complexType>
</schema>
- <schema targetNamespace="http://localhost:8080/jboss-net/services/NpaNxxTest" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
- <complexType name="ArrayOf_apachesoap_Map">
- <complexContent>
- <restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="apachesoap:Map[]" />
</restriction>
</complexContent>
</complexType>
</schema>
</wsdl:types>
- <wsdl:message name="getNpaNxxTestResponse">
<wsdl:part name="MapGreeting" type="impl:ArrayOf_apachesoap_Map" />
</wsdl:message>
- <wsdl:message name="getNpaNxxTestRequest">
<wsdl:part name="npa" type="xsd:int" />
<wsdl:part name="nxx" type="xsd:int" />
</wsdl:message>
- <wsdl:message name="getNpaNxxObjectTestResponse">
<wsdl:part name="NpaNxxGreeting" type="tns1:ArrayOfNpaNxxTest" />
</wsdl:message>
- <wsdl:message name="getNpaNxxObjectTestRequest">
<wsdl:part name="npa" type="xsd:int" />
<wsdl:part name="nxx" type="xsd:int" />
</wsdl:message>
- <wsdl:portType name="NpaNxxTestEjbLocal">
- <wsdl:operation name="getNpaNxxTest" parameterOrder="npa nxx">
<wsdl:input message="impl:getNpaNxxTestRequest" name="getNpaNxxTestRequest" />
<wsdl:output message="impl:getNpaNxxTestResponse" name="getNpaNxxTestResponse" />
</wsdl:operation>
- <wsdl:operation name="getNpaNxxObjectTest" parameterOrder="npa nxx">
<wsdl:input message="impl:getNpaNxxObjectTestRequest" name="getNpaNxxObjectTestRequest" />
<wsdl:output message="impl:getNpaNxxObjectTestResponse" name="getNpaNxxObjectTestResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="NpaNxxTestSoapBinding" type="impl:NpaNxxTestEjbLocal">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="getNpaNxxTest">
<wsdlsoap:operation soapAction="NpaNxxTest" />
- <wsdl:input name="getNpaNxxTestRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/NpaNxxTest" use="encoded" />
</wsdl:input>
- <wsdl:output name="getNpaNxxTestResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/NpaNxxTest" use="encoded" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="getNpaNxxObjectTest">
<wsdlsoap:operation soapAction="NpaNxxTest" />
- <wsdl:input name="getNpaNxxObjectTestRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/NpaNxxTest" use="encoded" />
</wsdl:input>
- <wsdl:output name="getNpaNxxObjectTestResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/NpaNxxTest" use="encoded" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="NpaNxxTestEjbLocalService">
- <wsdl:port binding="impl:NpaNxxTestSoapBinding" name="NpaNxxTest">
<wsdlsoap:address location="http://localhost:8080/jboss-net/services/NpaNxxTest" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>