You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Jeremy Nix <Je...@sfsltd.com> on 2004/11/12 14:52:04 UTC
WSDL2Java generating holder classes for non in/out parameter types
I attempted posting this in the user mailing lists, but there was no
response. I was hoping to find some help here. When I generate my Java
server code using the WSDL2Java utility holder classes are being
generated when I do not want them to. The parameters are not in/out
parameters. The methods I'm wanting to define within my service are
simple methods that take input params and returns an out param. Is
there a known bug in Axis that is causing the holder classes to be
generated, or do I have something defined incorrectly. Any help would
be much appreciated.
I'm generating my Java objects by running the WSDLtoJava utility (using
the latest/greatest code) against the following WSDL.
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="Geocode" xmlns="http://schemas.xmlsoap.org/wsdl/"
targetNamespace="http://geocode.webservices.sfsltd.com"
xmlns:tns="http://geocode.webservices.sfsltd.com"
xmlns:gans="http://geocodeaddress.geocode.webservices.sfsltd.com"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<types>
<!-- schema imports -->
<xsd:import
namespace="http://geocodeaddress.geocode.webservices.sfsltd.com"
schemaLocation="GeocodeAddress.xsd"/>
</types>
<!-- messages -->
<message name="GeocodeAddressSoapIn">
<part name="GeocodeAddressRequest" element="gans:GeocodeAddress" />
</message>
<message name="GeocodeAddressSoapOut">
<part name="GeocodeAddressResponse"
element="gans:GeocodeAddressResponse" />
</message>
<!-- port types -->
<portType name="GeocodeSoapPort">
<operation name="GeocodeAddress">
<documentation>Method for geocoding/standardizing
address</documentation>
<input message="tns:GeocodeAddressSoapIn" />
<output message="tns:GeocodeAddressSoapOut" />
</operation>
</portType>
<!-- bindings -->
<binding name="GeocodeSoapBinding" type="tns:GeocodeSoapPort">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GeocodeAddress">
<soap:operation soapAction="GeocodeAddress_V1"/>
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<!-- service definition -->
<service name="Geocode">
<documentation>Internal application for providing geocode
information</documentation>
<port name="Geocode" binding="tns:GeocodeSoapBinding">
<soap:address location="https://localhost/webservices/services/Geocode"
/>
</port>
</service>
</definitions>
For some reason, the skeleton is being generated like this:
public void
geocodeAddress(com.sfsltd.webservices.geocode.common.TypeRawAddress
address, com.sfsltd.webservices.geocode.common.TypeMatchOptions
matchOption, com.sfsltd.webservices.geocode.common.TypeDataSource
dataSource, com.sfsltd.webservices.geocode.common.TypeAuth
authentication,
com.sfsltd.webservices.geocode.common.holders.TypeAddressCollectionHolde
r geocodeAddressResults, javax.xml.rpc.holders.StringHolder
errorDescription) throws java.rmi.RemoteException
{
impl.geocodeAddress(address, matchOption, dataSource, authentication,
geocodeAddressResults, errorDescription);
}
Where the objects geocodeAddressResults and errorDescription are suppose
to be apart of the complexType GeocodeAddressResponse not in/out
parameters. I can send the full schema/wsdl if necessary. Just wondering
if I'm defining something within my WSDL that is causing AXIS to think
that these params are in/out.
Thanks for any help.
_________________________________
Jeremy Nix
Senior Application Developer
Southwest Financial Services, LTD.
(513) 621-6699 x1158
www.sfsltd.com