I noticed that but wasn't sure .. this would then be an issue in the jboss-net xdoclet stuff. I've got to hack it in any case to support wrapped style, so I'll see if I can fix the templates to get rid of that as well .. and comment it out in the meantime
Thanks again .. John d -----Original Message----- From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] Sent: Tuesday, August 03, 2004 7:21 PM To: [EMAIL PROTECTED] Subject: RE: M$ interoperability and Arrays John, I see an error in your typeMapping: >> <typeMapping qname="dmbc:User" type="java:tv.dmbc.user.User" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> Since you're using doc/literal, you don't want to use the SOAP encoding encodingStyle. I suspect this is the reason why Axis generated the tns5 array element using the soap encoding "ArrayOf" convention. It's definitely a bug, though, that Axis generated an invalid WSDL, so please file a bug report. Anne -----Original Message----- From: John D'Ausilio [mailto:[EMAIL PROTECTED] Sent: Tuesday, August 03, 2004 3:26 PM To: [EMAIL PROTECTED] Subject: Re: M$ interoperability and Arrays So, at this point I have a number of remaining issues .. 1. WSDL below references tns5 namespace, which is not defined anywhere 2. Accessing any service which references "User" object throws serializer not found in registry exceptions Any clues/hints/directions greatly appreciated .. at least now I've got a complete build environment to play with for both Jboss-3.2.5 and Axis :) jd WSDL and WSDD below <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://localhost:8080/jboss-net/services/userService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/jboss-net/services/userService" xmlns:intf="http://localhost:8080/jboss-net/services/userService" xmlns:tns1="http://beans.dmbc.tv" xmlns:tns2="http://user.dmbc.tv" xmlns:tns3="http://dmbc.tv" xmlns:tns4="http://www.w3.org/1999/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!--WSDL created by Apache Axis version: 1.2beta3 Built on Aug 03, 2004 (01:51:12 EDT)--> <wsdl:types> <schema elementFormDefault="qualified" targetNamespace="http://beans.dmbc.tv" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://dmbc.tv"/> <import namespace="http://user.dmbc.tv"/> <import namespace="http://localhost:8080/jboss-net/services/userService"/> <element name="setName"> <complexType> <sequence> <element name="in0" type="xsd:string"/> <element name="in1" type="xsd:string"/> <element name="in2" type="xsd:string"/> <element name="in3" type="xsd:string"/> </sequence> </complexType> </element> <element name="setNameResponse"> <complexType/> </element> <element name="setTimezone"> <complexType> <sequence> <element name="in0" type="xsd:string"/> <element name="in1" type="xsd:string"/> <element name="in2" type="xsd:string"/> </sequence> </complexType> </element> <element name="setTimezoneResponse"> <complexType/> </element> <element name="getUser"> <complexType> <sequence> <element name="in0" type="xsd:string"/> <element name="in1" type="xsd:string"/> </sequence> </complexType> </element> <element name="getUserResponse"> <complexType> <sequence> <element name="getUserReturn" type="tns2:User"/> </sequence> </complexType> </element> <element name="setUser"> <complexType> <sequence> <element name="in0" type="xsd:string"/> <element name="in1" type="xsd:string"/> <element name="in2" type="xsd:string"/> <element name="in3" type="xsd:string"/> <element name="in4" type="xsd:string"/> <element name="in5" type="xsd:string"/> <element name="in6" type="xsd:string"/> <element name="in7" type="xsd:string"/> <element name="in8" type="xsd:string"/> <element name="in9" type="xsd:string"/> <element name="in10" type="xsd:string"/> <element name="in11" type="xsd:string"/> <element name="in12" type="xsd:string"/> </sequence> </complexType> </element> <element name="setUserResponse"> <complexType/> </element> <element name="createUser"> <complexType> <sequence> <element name="in0" type="xsd:string"/> <element name="in1" type="xsd:string"/> </sequence> </complexType> </element> <element name="createUserResponse"> <complexType> <sequence> <element name="createUserReturn" type="tns2:User"/> </sequence> </complexType> </element> <element name="setAddress"> <complexType> <sequence> <element name="in0" type="xsd:string"/> <element name="in1" type="xsd:string"/> <element name="in2" type="xsd:string"/> <element name="in3" type="xsd:string"/> <element name="in4" type="xsd:string"/> <element name="in5" type="xsd:string"/> <element name="in6" type="xsd:string"/> <element name="in7" type="xsd:string"/> </sequence> </complexType> </element> <element name="setAddressResponse"> <complexType/> </element> <element name="getAllUsers"> <complexType/> </element> <element name="getAllUsersResponse"> <complexType> <sequence> <element name="getAllUsersReturn" type="impl:ArrayOf_tns4_anyType"/> </sequence> </complexType> </element> <element name="setEmail"> <complexType> <sequence> <element name="in0" type="xsd:string"/> <element name="in1" type="xsd:string"/> <element name="in2" type="xsd:string"/> </sequence> </complexType> </element> <element name="setEmailResponse"> <complexType/> </element> <element name="setPhone"> <complexType> <sequence> <element name="in0" type="xsd:string"/> <element name="in1" type="xsd:string"/> <element name="in2" type="xsd:string"/> </sequence> </complexType> </element> <element name="setPhoneResponse"> <complexType/> </element> </schema> <schema elementFormDefault="qualified" targetNamespace="http://dmbc.tv" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://user.dmbc.tv"/> <import namespace="http://localhost:8080/jboss-net/services/userService"/> <complexType name="DMBCObject"> <sequence/> </complexType> <complexType abstract="true" name="Persistent"> <complexContent> <extension base="tns3:DMBCObject"> <sequence> <element name="created" nillable="true" type="xsd:dateTime"/> <element name="id" type="xsd:int"/> <element name="version" type="xsd:int"/> </sequence> </extension> </complexContent> </complexType> </schema> <schema elementFormDefault="qualified" targetNamespace="http://user.dmbc.tv" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://dmbc.tv"/> <import namespace="http://localhost:8080/jboss-net/services/userService"/> <complexType name="User"> <complexContent> <extension base="tns3:Persistent"> <sequence> <element name="city" nillable="true" type="xsd:string"/> <element name="country" nillable="true" type="xsd:string"/> <element name="detail1" nillable="true" type="xsd:string"/> <element name="detail2" nillable="true" type="xsd:string"/> <element name="email" nillable="true" type="xsd:string"/> <element name="givenName" nillable="true" type="xsd:string"/> <element name="phone" nillable="true" type="xsd:string"/> <element name="state" nillable="true" type="xsd:string"/> <element name="surName" nillable="true" type="xsd:string"/> <element name="userDomain" nillable="true" type="xsd:string"/> <element name="userId" nillable="true" type="xsd:string"/> <element name="zip" nillable="true" type="xsd:string"/> <element name="zone" nillable="true" type="xsd:string"/> </sequence> </extension> </complexContent> </complexType> </schema> <schema elementFormDefault="qualified" targetNamespace="http://localhost:8080/jboss-net/services/userService" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://dmbc.tv"/> <import namespace="http://user.dmbc.tv"/> <complexType name="ArrayOf_tns4_anyType"> <complexContent> <restriction base="tns5:Array"> <attribute ref="tns5:arrayType" wsdl:arrayType="tns4:anyType[]"/> </restriction> </complexContent> </complexType> </schema> </wsdl:types> <wsdl:message name="setPhoneResponse"> <wsdl:part element="tns1:setPhoneResponse" name="parameters"/> </wsdl:message> <wsdl:message name="getAllUsersResponse"> <wsdl:part element="tns1:getAllUsersResponse" name="parameters"/> </wsdl:message> <wsdl:message name="setTimezoneResponse"> <wsdl:part element="tns1:setTimezoneResponse" name="parameters"/> </wsdl:message> <wsdl:message name="setAddressRequest"> <wsdl:part element="tns1:setAddress" name="parameters"/> </wsdl:message> <wsdl:message name="setUserRequest"> <wsdl:part element="tns1:setUser" name="parameters"/> </wsdl:message> <wsdl:message name="getAllUsersRequest"> <wsdl:part element="tns1:getAllUsers" name="parameters"/> </wsdl:message> <wsdl:message name="createUserRequest"> <wsdl:part element="tns1:createUser" name="parameters"/> </wsdl:message> <wsdl:message name="setEmailResponse"> <wsdl:part element="tns1:setEmailResponse" name="parameters"/> </wsdl:message> <wsdl:message name="setPhoneRequest"> <wsdl:part element="tns1:setPhone" name="parameters"/> </wsdl:message> <wsdl:message name="setAddressResponse"> <wsdl:part element="tns1:setAddressResponse" name="parameters"/> </wsdl:message> <wsdl:message name="setEmailRequest"> <wsdl:part element="tns1:setEmail" name="parameters"/> </wsdl:message> <wsdl:message name="setTimezoneRequest"> <wsdl:part element="tns1:setTimezone" name="parameters"/> </wsdl:message> <wsdl:message name="createUserResponse"> <wsdl:part element="tns1:createUserResponse" name="parameters"/> </wsdl:message> <wsdl:message name="setNameRequest"> <wsdl:part element="tns1:setName" name="parameters"/> </wsdl:message> <wsdl:message name="getUserResponse"> <wsdl:part element="tns1:getUserResponse" name="parameters"/> </wsdl:message> <wsdl:message name="getUserRequest"> <wsdl:part element="tns1:getUser" name="parameters"/> </wsdl:message> <wsdl:message name="setUserResponse"> <wsdl:part element="tns1:setUserResponse" name="parameters"/> </wsdl:message> <wsdl:message name="setNameResponse"> <wsdl:part element="tns1:setNameResponse" name="parameters"/> </wsdl:message> <wsdl:portType name="UserManagerLocal"> <wsdl:operation name="setName"> <wsdl:input message="impl:setNameRequest" name="setNameRequest"/> <wsdl:output message="impl:setNameResponse" name="setNameResponse"/> </wsdl:operation> <wsdl:operation name="setTimezone"> <wsdl:input message="impl:setTimezoneRequest" name="setTimezoneRequest"/> <wsdl:output message="impl:setTimezoneResponse" name="setTimezoneResponse"/> </wsdl:operation> <wsdl:operation name="getUser"> <wsdl:input message="impl:getUserRequest" name="getUserRequest"/> <wsdl:output message="impl:getUserResponse" name="getUserResponse"/> </wsdl:operation> <wsdl:operation name="setUser"> <wsdl:input message="impl:setUserRequest" name="setUserRequest"/> <wsdl:output message="impl:setUserResponse" name="setUserResponse"/> </wsdl:operation> <wsdl:operation name="createUser"> <wsdl:input message="impl:createUserRequest" name="createUserRequest"/> <wsdl:output message="impl:createUserResponse" name="createUserResponse"/> </wsdl:operation> <wsdl:operation name="setAddress"> <wsdl:input message="impl:setAddressRequest" name="setAddressRequest"/> <wsdl:output message="impl:setAddressResponse" name="setAddressResponse"/> </wsdl:operation> <wsdl:operation name="getAllUsers"> <wsdl:input message="impl:getAllUsersRequest" name="getAllUsersRequest"/> <wsdl:output message="impl:getAllUsersResponse" name="getAllUsersResponse"/> </wsdl:operation> <wsdl:operation name="setEmail"> <wsdl:input message="impl:setEmailRequest" name="setEmailRequest"/> <wsdl:output message="impl:setEmailResponse" name="setEmailResponse"/> </wsdl:operation> <wsdl:operation name="setPhone"> <wsdl:input message="impl:setPhoneRequest" name="setPhoneRequest"/> <wsdl:output message="impl:setPhoneResponse" name="setPhoneResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="userServiceSoapBinding" type="impl:UserManagerLocal"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="setName"> <wsdlsoap:operation soapAction="userService"/> <wsdl:input name="setNameRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="setNameResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="setTimezone"> <wsdlsoap:operation soapAction="userService"/> <wsdl:input name="setTimezoneRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="setTimezoneResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getUser"> <wsdlsoap:operation soapAction="userService"/> <wsdl:input name="getUserRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="getUserResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="setUser"> <wsdlsoap:operation soapAction="userService"/> <wsdl:input name="setUserRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="setUserResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="createUser"> <wsdlsoap:operation soapAction="userService"/> <wsdl:input name="createUserRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="createUserResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="setAddress"> <wsdlsoap:operation soapAction="userService"/> <wsdl:input name="setAddressRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="setAddressResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getAllUsers"> <wsdlsoap:operation soapAction="userService"/> <wsdl:input name="getAllUsersRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="getAllUsersResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="setEmail"> <wsdlsoap:operation soapAction="userService"/> <wsdl:input name="setEmailRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="setEmailResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="setPhone"> <wsdlsoap:operation soapAction="userService"/> <wsdl:input name="setPhoneRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="setPhoneResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="UserManagerLocalService"> <wsdl:port binding="impl:userServiceSoapBinding" name="userService"> <wsdlsoap:address location="http://localhost:8080/jboss-net/services/userService"/> </wsdl:port> </wsdl:service> </wsdl:definitions> -->>> WSDD <?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="dmbcServices" xmlns="http://xml.apache.org/axis/wsdd/" targetNamespace="http://dmbc.tv/dmbcServices" xmlns:dmbc="http://dmbc.tv/dmbcServices" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <!-- The following are declarations of service endpoints targetted to session beans --> <service name="userService" provider="Handler"> <parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider"/> <parameter name="beanJndiName" value="UserManagerLocal"/> <parameter name="allowedMethods" value="getUser createUser setUser getAllUsers setName setEmail setPhone setTimezone setAddress "/> <requestFlow name="userServiceRequest"> </requestFlow> <responseFlow name="userServiceResponse"> </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="dmbc:User" type="java:tv.dmbc.user.User" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <!-- There follow merged custom web service descriptions --> </deployment>
