I'm finding I must use name="in0" for the @WebParam annotation per the Web
service call below when using JSR181 w/XMLBeans and a Spring client.  I have
tried all other permutations of the SOAPBinding and this is the *only* one
that seems to work.

If I don't use this I get an exception:
"org.codehaus.xfire.fault.XFireFault: Parameter {[the namespace]}in0 does
not exist!"  I'm using a Spring client to access this service and have
included my appContext below.

Can anyone explain why I *must* use @WebParam(name="in0") and parameterStyle
= ParameterStyle.BARE for the String parameter of this service call for it
to work?

Thanks,
Lou

Web service Interface:

@WebService
@SOAPBinding(style = Style.DOCUMENT, use= Use.LITERAL, parameterStyle =
ParameterStyle.BARE)
public interface IAgileDbService {
        @WebMethod

@WebResult(targetNamespace="http://www.xxx.com/pds/agile/common/agiledb/types";)
        // Must set WebParam name to "in0" and us ParameterStyle.BARE to get 
this
to work
    public AgileItemDocument
findAgileItemChangeByItemNumber(@WebParam(name="in0")String itemNumber);
}

Service App Context:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xmlns:aop="http://www.springframework.org/schema/aop";
        xsi:schemaLocation="http://www.springframework.org/schema/beans
             http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
             http://www.springframework.org/schema/aop
             http://www.springframework.org/schema/aop/spring-aop-2.0.xsd";>

        <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
        <import
                
resource="classpath:org/codehaus/xfire/spring/xfireXmlBeans.xml" />
        <import
                
resource="classpath:applicationContext-AgileDBAccessService.xml" />

        <bean id="webAnnotations"
                
class="org.codehaus.xfire.annotations.jsr181.Jsr181WebAnnotations" />

        <bean id="xfire.xmlBeansAnnotationServiceFactory"
                class="org.codehaus.xfire.annotations.AnnotationServiceFactory">
                <constructor-arg index="0" ref="webAnnotations" />
                <!-- WebAnnotations   -->
                <constructor-arg index="1" ref="xfire.transportManager" />
                <!-- TransportManager -->
                <constructor-arg index="2" ref="xfire.xmlbeansBindingProvider" 
/>
                <!-- BindingProvider  -->
                <property name="wsdlBuilderFactory"
                        ref="xfire.xmlbeansWSDLBuilderFactory" />
        </bean>

        <bean id="handlerMapping"
                class="org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping">
                <property name="serviceFactory"
                        ref="xfire.xmlBeansAnnotationServiceFactory" />
                <property name="typeMappingRegistry"
                        ref="xfire.xmlbeansTypeRegistry" />
                <property name="xfire" ref="xfire" />
                <property name="webAnnotations" ref="webAnnotations" />
        </bean>

        <bean
                
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
                <property name="defaultHandler" ref="handlerMapping" />
                <property name="urlMap">
                        <map>
                                <entry key="/EchoService">
                                        <ref bean="echoService" />
                                </entry>
                                <entry key="/AgileDbService">
                                        <ref bean="agileDBService" />
                                </entry>
                        </map>
                </property>
        </bean>

        <bean id="agileDBService"
                class="com.xxx.agile.common.dbservice.jws.AgileDbService">
                <property name="agileDbServiceFacade" ref="agileServiceFacade" 
/>
        </bean>

        <bean id="echoService"
                class="com.xxx.agile.common.dbservice.jws.EchoService" />

</beans>

Client AppCtx:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
        "http://www.springframework.org/dtd/spring-beans.dtd";>
<beans> 
        <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
        <import 
resource="classpath:org/codehaus/xfire/spring/xfireXmlBeans.xml" />
    
        <bean id="agileDbService"
                
class="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean">
                <property name="wsdlDocumentUrl">
                        <value>
                        
http://localhost:10547/AgileDBAccessServiceJws/services/AgileDbService?wsdl
                        </value>
                </property>
                <property name="serviceInterface">
                        <value>
                                
com.xxx.agile.common.dbservice.jws.IAgileDbService</value>
                </property>
                <property name="serviceName">
                        <value>AgileDbService</value>
                </property>
                <property name="serviceFactory" 
ref="xfire.xmlbeansServiceFactory"/>
        </bean>

</beans>

WSDL:
  <?xml version="1.0" encoding="UTF-8" ?> 
- <wsdl:definitions
targetNamespace="http://jws.dbservice.common.agile.pds.xxx.com";
xmlns:tns="http://jws.dbservice.common.agile.pds.xxx.com";
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope";
xmlns:ns1="http://www.xxx.com/pds/agile/common/agiledb/types";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding";
xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
- <wsdl:types>
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";
attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://jws.dbservice.common.agile.pds.xxx.com";>
  <xsd:element name="findAgileItemChangeByItemNumberin0" type="xsd:string"
/> 
  </xsd:schema>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:mxs="http://www.xxx.com/pds/agile/common/agiledb/types";
attributeFormDefault="unqualified" elementFormDefault="qualified"
targetNamespace="http://www.xxx.com/pds/agile/common/agiledb/types";>
  <xs:include schemaLocation="./SimpleTypes.xsd" /> 
  <xs:include schemaLocation="./AgileRevision.xsd" /> 
  <xs:include schemaLocation="./AgileAttachment.xsd" /> 
  <xs:element name="AgileItem" type="mxs:AgileItemType" /> 
- <xs:complexType name="AgileItemType">
- <xs:sequence>
  <xs:element maxOccurs="1" minOccurs="0" name="ID" type="xs:integer" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="ItemNumber" nillable="true"
type="mxs:StringType75" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="ItemDescription"
nillable="true" type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" name="ModifiedDate" type="xs:dateTime" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="ClassType" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" name="Subclass" type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" name="SubclassID" type="xs:integer" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="HasBOM" nillable="true"
type="xs:boolean" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="HasAttachment"
nillable="true" type="xs:boolean" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="ViewablePDF" nillable="true"
type="xs:boolean" /> 
  <xs:element default="false" maxOccurs="1" minOccurs="0"
name="DistributionLevel" nillable="true" type="xs:string" /> 
  <xs:element default="false" maxOccurs="1" minOccurs="0" name="Category"
nillable="true" type="xs:string" /> 
  <xs:element maxOccurs="unbounded" minOccurs="0" name="AgileRevisions"
nillable="true" type="mxs:AgileRevType" /> 
  <xs:element maxOccurs="unbounded" minOccurs="0" name="AgileAttachments"
nillable="true" type="mxs:AgileAttachmentType" /> 
  <xs:element maxOccurs="unbounded" minOccurs="0" name="ProductLines"
nillable="true" type="mxs:ProductLinesType" /> 
  </xs:sequence>
  <xs:attribute name="Version" type="mxs:VersionNumberType" use="required"
/> 
  </xs:complexType>
  </xs:schema>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:mxs="http://www.xxx.com/pds/agile/common/agiledb/types";
attributeFormDefault="unqualified" elementFormDefault="qualified"
targetNamespace="http://www.xxx.com/pds/agile/common/agiledb/types";>
  <xs:include schemaLocation="./SimpleTypes.xsd" /> 
  <xs:element name="AgileAttachment" type="mxs:AgileAttachmentType" /> 
- <xs:complexType name="AgileAttachmentType">
- <xs:sequence>
  <xs:element maxOccurs="1" minOccurs="0" name="ID" type="xs:integer" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="Description" nillable="true"
type="mxs:StringType50" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="Filename" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="FolderVersion"
nillable="true" type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="FileSize" nillable="true"
type="xs:integer" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="FileType" nillable="true"
type="mxs:StringType15" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="AttachmentType"
nillable="true" type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="LastModifiedDate"
nillable="true" type="xs:dateTime" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="LastViewedDate"
nillable="true" type="xs:dateTime" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="CheckoutUser"
nillable="true" type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="CheckoutDate"
nillable="true" type="xs:dateTime" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="FileDescription"
nillable="true" type="mxs:StringType100" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="FolderDescription"
nillable="true" type="mxs:StringType50" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="ContentURL" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="FolderNumber"
nillable="true" type="mxs:StringType50" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="ContactInfo" nillable="true"
type="mxs:StringType50" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:schema>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:mxs="http://www.xxx.com/pds/agile/common/agiledb/types";
attributeFormDefault="unqualified" elementFormDefault="qualified"
targetNamespace="http://www.xxx.com/pds/agile/common/agiledb/types";>
- <xs:simpleType name="StringTypeTiny">
- <xs:restriction base="xs:string">
  <xs:minLength value="0" /> 
  <xs:maxLength value="10" /> 
  </xs:restriction>
  </xs:simpleType>
- <xs:simpleType name="StringTypeShort">
- <xs:restriction base="xs:string">
  <xs:minLength value="0" /> 
  <xs:maxLength value="255" /> 
  </xs:restriction>
  </xs:simpleType>
- <xs:simpleType name="StringTypeLong">
- <xs:restriction base="xs:string">
  <xs:minLength value="0" /> 
  <xs:maxLength value="3000" /> 
  </xs:restriction>
  </xs:simpleType>
- <xs:simpleType name="StringTypeFixed16">
- <xs:restriction base="xs:string">
  <xs:minLength value="16" /> 
  <xs:maxLength value="16" /> 
  </xs:restriction>
  </xs:simpleType>
- <xs:simpleType name="StringType15">
- <xs:restriction base="xs:string">
  <xs:minLength value="0" /> 
  <xs:maxLength value="15" /> 
  </xs:restriction>
  </xs:simpleType>
- <xs:simpleType name="StringTypeFixed20">
- <xs:restriction base="xs:string">
  <xs:minLength value="20" /> 
  <xs:maxLength value="20" /> 
  </xs:restriction>
  </xs:simpleType>
- <xs:simpleType name="StringType30">
- <xs:restriction base="xs:string">
  <xs:minLength value="0" /> 
  <xs:maxLength value="30" /> 
  </xs:restriction>
  </xs:simpleType>
- <xs:simpleType name="StringType50">
- <xs:restriction base="xs:string">
  <xs:minLength value="0" /> 
  <xs:maxLength value="50" /> 
  </xs:restriction>
  </xs:simpleType>
- <xs:simpleType name="StringType75">
- <xs:restriction base="xs:string">
  <xs:minLength value="0" /> 
  <xs:maxLength value="75" /> 
  </xs:restriction>
  </xs:simpleType>
- <xs:simpleType name="StringType100">
- <xs:restriction base="xs:string">
  <xs:minLength value="0" /> 
  <xs:maxLength value="100" /> 
  </xs:restriction>
  </xs:simpleType>
- <xs:simpleType name="StringType1023">
- <xs:restriction base="xs:string">
  <xs:minLength value="0" /> 
  <xs:maxLength value="1023" /> 
  </xs:restriction>
  </xs:simpleType>
- <xs:simpleType name="VersionNumberType">
- <xs:restriction base="xs:string">
  <xs:pattern value="([0-9])?[0-9].[0-9]([0-9])?" /> 
  </xs:restriction>
  </xs:simpleType>
  </xs:schema>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:mxs="http://www.xxx.com/pds/agile/common/agiledb/types";
attributeFormDefault="unqualified" elementFormDefault="qualified"
targetNamespace="http://www.xxx.com/pds/agile/common/agiledb/types";>
  <xs:include schemaLocation="./SimpleTypes.xsd" /> 
  <xs:include schemaLocation="./AgileChange.xsd" /> 
  <xs:include schemaLocation="./AgileItem.xsd" /> 
  <xs:element name="AgileRev" type="mxs:AgileRevType" /> 
- <xs:complexType name="AgileRevType">
- <xs:sequence>
  <xs:element maxOccurs="1" minOccurs="0" name="ID" type="xs:integer" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="Description" nillable="true"
type="mxs:StringType100" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="OldRevisionNumber"
nillable="true" type="mxs:StringTypeFixed20" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="OldLifecyclePhase"
nillable="true" type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="RevisionNumber"
nillable="true" type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="RevisionVersion"
nillable="true" type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="LifecyclePhase"
nillable="true" type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="EffectiveDate"
nillable="true" type="xs:dateTime" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="ReleaseDate" nillable="true"
type="xs:dateTime" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="IncorporatedDate"
nillable="true" type="xs:dateTime" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="ObsoleteDate"
nillable="true" type="xs:dateTime" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="OnOrder" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="WorkInProgress"
nillable="true" type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="Stock" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="NextAssy" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="Field" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="RMA" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="Site" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="Version" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="DistributionMedia"
nillable="true" type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="NumberOfCopies"
nillable="true" type="xs:integer" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="AgileChange" nillable="true"
type="mxs:AgileChangeType" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="AgileItem" nillable="true"
type="mxs:AgileItemType" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:schema>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:mxs="http://www.xxx.com/pds/agile/common/agiledb/types";
attributeFormDefault="unqualified" elementFormDefault="qualified"
targetNamespace="http://www.xxx.com/pds/agile/common/agiledb/types";>
  <xs:include schemaLocation="./SimpleTypes.xsd" /> 
  <xs:include schemaLocation="./AgileRevision.xsd" /> 
  <xs:element name="AgileChange" type="mxs:AgileChangeType" /> 
- <xs:complexType name="AgileChangeType">
- <xs:sequence>
  <xs:element maxOccurs="1" minOccurs="0" name="ID" type="xs:integer" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="PaginationTotalCount"
type="xs:integer" /> 
  <xs:element maxOccurs="1" name="ChangeNumber" type="mxs:StringType30" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="ChangeType" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="Owner" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="Originator" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="Category" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="Description" nillable="true"
type="mxs:StringType1023" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="Reason" nillable="true"
type="mxs:StringType1023" /> 
  <xs:element maxOccurs="1" name="Subclass" type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" name="SubclassID" type="xs:integer" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="WorkflowID" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="Status" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="CreatedDate" nillable="true"
type="xs:dateTime" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="SubmitDate" nillable="true"
type="xs:dateTime" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="RouteDate" nillable="true"
type="xs:dateTime" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="RouteDateToApprover"
nillable="true" type="xs:dateTime" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="ReleaseDate" nillable="true"
type="xs:dateTime" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="ReasonCode" nillable="true"
type="mxs:StringTypeShort" /> 
  <xs:element maxOccurs="1" minOccurs="0" name="FinalCompleteDate"
nillable="true" type="xs:dateTime" /> 
  <xs:element maxOccurs="unbounded" minOccurs="0" name="ProductLines"
nillable="true" type="mxs:ProductLinesType" /> 
  <xs:element maxOccurs="unbounded" minOccurs="0" name="AgileAttachments"
nillable="true" type="mxs:AgileAttachmentType" /> 
  <xs:element maxOccurs="unbounded" minOccurs="0" name="AgileRevisions"
nillable="true" type="mxs:AgileRevType" /> 
  </xs:sequence>
  </xs:complexType>
- <xs:complexType name="ProductLinesType">
- <xs:sequence>
  <xs:element maxOccurs="1" name="ID" type="xs:integer" /> 
  <xs:element maxOccurs="1" name="ProductLine" nillable="true"
type="mxs:StringType100" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:schema>
  </wsdl:types>
- <wsdl:message name="findAgileItemChangeByItemNumberRequest">
  <wsdl:part name="findAgileItemChangeByItemNumberin0"
element="tns:findAgileItemChangeByItemNumberin0" /> 
  </wsdl:message>
- <wsdl:message name="findAgileItemChangeByItemNumberResponse">
  <wsdl:part name="return" element="ns1:AgileItem" /> 
  </wsdl:message>
- <wsdl:portType name="AgileDbServicePortType">
- <wsdl:operation name="findAgileItemChangeByItemNumber">
  <wsdl:input name="findAgileItemChangeByItemNumberRequest"
message="tns:findAgileItemChangeByItemNumberRequest" /> 
  <wsdl:output name="findAgileItemChangeByItemNumberResponse"
message="tns:findAgileItemChangeByItemNumberResponse" /> 
  </wsdl:operation>
  </wsdl:portType>
- <wsdl:binding name="AgileDbServiceHttpBinding"
type="tns:AgileDbServicePortType">
  <wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"; /> 
- <wsdl:operation name="findAgileItemChangeByItemNumber">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="findAgileItemChangeByItemNumberRequest">
  <wsdlsoap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="findAgileItemChangeByItemNumberResponse">
  <wsdlsoap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:service name="AgileDbService">
- <wsdl:port name="AgileDbServiceHttpPort"
binding="tns:AgileDbServiceHttpBinding">
  <wsdlsoap:address
location="http://localhost:8080/AgileDBAccessServiceJws/services/AgileDbService";
/> 
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>
-- 
View this message in context: 
http://www.nabble.com/%40WebParam-name%3D%22in0%22-for-parameter-required-for-JSR181%2BXMLBeans-w-Spring-Client-tf3991936.html#a11335551
Sent from the XFire - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to