You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Keast Ann <ke...@bah.com> on 2004/06/29 18:56:25 UTC

Axis 1.1 Release - WSDL2Java: expected classes are not generated

Hi,

This is my first ground-up web service using the Axis 1.1 Release.  The
service has 2 operations:
1. getContract - returns contract information 
2. getNavigation - returns a NavigationElement which will contain an
unlimited amount of NavigationElements (to be openned in a TreeView
control).
 
I ran WSDL2Java against the attached WSDL and have discovered:
1. Many of the generated classes have a prefix of "_" or "__"
2. Some of the request (GetContract, GetNavigation) and domain
(Contract) classes are not generated at all.

Here is the system.out of the classes that are generated from WSDL2Java:

Generating

E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\domain\holders\NavigationElementArrayHolder.java
Generating

E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\request\_GetContractType_DerivedFinancialType.java
Generating

E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\domain\_NavigationElement.java
Generating

E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\domain\___Contract_FinancialSummary_ContractorType.java
Generating
E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\domain\_ContractMod.java
Generating

E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\domain\holders\ContractFinancialSummaryArrayHolder.java
Generating
E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\domain\_TTOModNTEAdj.java
Generating

E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\domain\__Contract_FinancialSummary.java
Generating

E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\domain\holders\__Contract_FinancialSummaryHolder.java
Generating

E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\domain\___Contract_FinancialSummary_Type.java
ContractManagementServiceSOAPBindingImpl.java already exists, WSDL2Java
will not overwrite it.
Generating

E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\service\ContractManagementServicePortType.java
Generating

E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\service\ContractManagementServiceSOAPBindingStub.java
Generating

E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\service\ContractManagementService.java
Generating

E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\service\ContractManagementServiceLocator.java
Generating

E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\service\ContractManagementServiceTestCase.java
Generating
E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\service\deploy.wsdd
Generating
E:\webservices\samples-axis\WEB-INF\src\com\bah\contractmgmt\service\undeploy.wsdd

Notice how GetContractType, GetNavigationType, ContractType classes are
not generated?

Is there a way that Axis prefers the schema to be so that there are no
underscores and ALL of the domain objects are generated?
I've attached the WSDL and schema (validated in XMLSpy).  Please take a
quick look at these files and let me know if I've missed something.

Thank you,
Ann

RE: Axis 1.1 Release - WSDL2Java: expected classes are not generated

Posted by Christophe Roudet <cr...@activia.net>.
It has to do with your encoding style. In turning use="literal" into
Use="encoded" produces:

public class ContractManagementServiceSOAPBindingImpl implements
ContractManagementService.service._1._0.contract.bah.ContractManagementServi
cePortType{
    public contract.types._1._0.contract.bah.ContractType
getContract(request.types._1._0.contract.bah.GetContractType request) throws
java.rmi.RemoteException {
        return null;
    }

    public navigation.types._1._0.contract.bah.NavigationElementType
getNavigation(request.types._1._0.contract.bah.GetNavigationType request)
throws java.rmi.RemoteException {
        return null;
    }

}

Here is the wsdl changes:

		<operation name="GetContract">
			<soap:operation soapAction="getContract"/>
			<input>
				<soap:body use="encoded"/> <!-- was literal
-->
			</input>
			<output>
				<soap:body use="encoded"/> <!-- was literal
-->
			</output>
		</operation>
		<operation name="GetNavigation">
			<soap:operation soapAction="getNavigation"/>
			<input>
				<soap:body use="encoded"/> <!-- was literal
-->
			</input>
			<output>
				<soap:body use="encoded"/> <!-- was literal
-->
			</output>
		</operation>


As well, if you want to do rpc, try to change
<soap:binding style="document" ...

To

<soap:binding style="rpc" ....

Christophe

> -----Original Message-----
> From: Keast Ann [mailto:keast_ann@bah.com]
> Sent: Wednesday, June 30, 2004 5:27 PM
> To: axis-user@ws.apache.org
> Subject: Re: Axis 1.1 Release - WSDL2Java: expected classes are not
> generated
> 
> Thank you for your quick response :) My ant task is a bit different and
> I am using namespacing - that may have something to do with the
> underscores.
> 
> I am more concerned about that the fact that incorrect code seems to be
> created...
> Why are GetContractType, GetNavigationType, ContractType classes not
> generated?
> 
> Also, the implementation classes' signatures do not use the request
> objects. They use the entire contents of the request object. Nothing is
> returned either.
> 
> My WSDL excerpt:
> <portType name="ContractManagementServicePortType">
> 	<operation name="GetContract">
> 		<input message="tns:GetContractRequest"/>
> 		<output message="tns:GetContractResponse"/>
> 	</operation>
> 	<operation name="GetNavigation">
> 		<input message="tns:GetNavigationRequest"/>
> 		<output message="tns:GetNavigationResponse"/>
> 	</operation>
> </portType>
> <binding name="ContractManagementServiceSOAPBinding"
> type="tns:ContractManagementServicePortType">
> 	<soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> 	<operation name="GetContract">			<soap:operation
> soapAction="getContract"/>
> 		<input>
> 			<soap:body use="literal"/>
> 		</input>
> 		<output>
> 			<soap:body use="literal"/>
> 		</output>
> 	</operation>
> 	<operation name="GetNavigation">
> 		<soap:operation soapAction="getNavigation"/>
> 		<input>
> 			<soap:body use="literal"/>
> 		</input>
> 		<output>
> 			<soap:body use="literal"/>
> 		</output>
> 	</operation>
> </binding>
> 
> 
> SOAPBindingImpl Excerpt:
> 
> public class ContractManagementServiceSOAPBindingImpl implements
> com.bah.contractmgmt.service.ContractManagementServicePortType{
>     public void getContract(org.apache.axis.types.PositiveInteger
> getContractTypeContractID,
> com.bah.contractmgmt.request._GetContractType_DerivedFinancialType
> getContractTypeDerivedFinancialType, boolean
> getContractTypeIncludeContractHeaderDetail,
> javax.xml.rpc.holders.LongHolder contractID,
> javax.xml.rpc.holders.StringHolder contractContractName,
> javax.xml.rpc.holders.StringHolder contractDescription, ...
> 
> 
> I would have thought that WSDL2Java would have generated something like
> this:
> 
> public class ContractManagementServiceSOAPBindingImpl implements
> com.bah.contractmgmt.service.ContractManagementServicePortType{
>     public GetContractResponseType getContract(GetContractRequestType
> request){}
> 
> Why isn't Axis generating all of the classes and what is the
> SOAPBindingImpl different than expected?
> 
> 
> Thanks very much-
> Ann
> 
> 
> Christophe Roudet wrote:
> >
> > I have run wsdl2java against your wsdl and didn't notice classes
> prefixed
> > with '_' (I haven't set any namespace to package mapping).
> >
> > The ant task fragment:
> >
> >           <axis-wsdl2java
> >             output="${generated.dir}"
> >                 verbose="true"
> >             serverSide="yes"
> >             skeletondeploy="no"
> >             all="yes"
> >             testcase="no"
> >             deployScope="Application"
> >             url="${build.dir}/ContractManagementService.wsdl" >
> >           </axis-wsdl2java>
> >
> > Here is the output:
> >
> > [axis-wsdl2java] WSDL2Java
> > C:\Yo\Work\workspace\Engine\build/ContractManagementService.wsdl
> > [axis-wsdl2java] Parsing XML file:
> > C:\Yo\Work\workspace\Engine\build/ContractManagementService.wsdl
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\navigation\types\_1\_0\contrac
> t\
> > bah\holders\NavigationElementArrayHolder.java
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\
> ba
> > h\holders\ContractTypeFinancialSummaryArrayHolder.java
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\
> ba
> > h\ContractModType.java
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\request\types\_1\_0\contract\b
> ah
> > \GetContractType_DerivedFinancialType.java
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\
> ba
> > h\ContractType_FinancialSummary.java
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\
> ba
> > h\holders\ContractType_FinancialSummaryHolder.java
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\
> ba
> > h\ContractType_FinancialSummary_ContractorType.java
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\
> ba
> > h\ContractType_FinancialSummary_Type.java
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\
> ba
> > h\TTOModNTEAdjType.java
> > [axis-wsdl2java] ContractManagementServiceSOAPBindingImpl.java already
> > exists, WSDL2Java will not overwrite it.
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\serv
> ic
> > e\_1\_0\contract\bah\ContractManagementServicePortType.java
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\serv
> ic
> > e\_1\_0\contract\bah\ContractManagementServiceSOAPBindingStub.java
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\serv
> ic
> > e\_1\_0\contract\bah\ContractManagementServiceSOAPBindingSkeleton.java
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\serv
> ic
> > e\_1\_0\contract\bah\ContractManagementService.java
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\serv
> ic
> > e\_1\_0\contract\bah\ContractManagementServiceLocator.java
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\serv
> ic
> > e\_1\_0\contract\bah\deploy.wsdd
> > [axis-wsdl2java] Generating
> >
> C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\serv
> ic
> > e\_1\_0\contract\bah\undeploy.wsdd
> >
> > BUILD SUCCESSFUL
> > Total time: 3 seconds
> >
> > Christophe
> >
> > > -----Original Message-----
> > > From: Keast Ann [mailto:keast_ann@bah.com]
> > > Sent: Tuesday, June 29, 2004 12:56 PM
> > > To: axis-user@ws.apache.org
> > > Subject: Axis 1.1 Release - WSDL2Java: expected classes are not
> generated
> > >
> > > Hi,
> > >
> > > This is my first ground-up web service using the Axis 1.1 Release.
> The
> > > service has 2 operations:
> > > 1. getContract - returns contract information
> > > 2. getNavigation - returns a NavigationElement which will contain an
> > > unlimited amount of NavigationElements (to be openned in a TreeView
> > > control).
> > >
> > > I ran WSDL2Java against the attached WSDL and have discovered:
> > > 1. Many of the generated classes have a prefix of "_" or "__"
> > > 2. Some of the request (GetContract, GetNavigation) and domain
> > > (Contract) classes are not generated at all.
> > >
> > > Here is the system.out of the classes that are generated from
> WSDL2Java:
> > >
> > > Generating
> > >
> > > E:\webservices\samples-axis\WEB-
> > >
> INF\src\com\bah\contractmgmt\domain\holders\NavigationElementArrayHolder.j
> > > ava
> > > Generating
> > >
> > > E:\webservices\samples-axis\WEB-
> > >
> INF\src\com\bah\contractmgmt\request\_GetContractType_DerivedFinancialType
> > > .java
> > > Generating
> > >
> > > E:\webservices\samples-axis\WEB-
> > > INF\src\com\bah\contractmgmt\domain\_NavigationElement.java
> > > Generating
> > >
> > > E:\webservices\samples-axis\WEB-
> > >
> INF\src\com\bah\contractmgmt\domain\___Contract_FinancialSummary_Contracto
> > > rType.java
> > > Generating
> > > E:\webservices\samples-axis\WEB-
> > > INF\src\com\bah\contractmgmt\domain\_ContractMod.java
> > > Generating
> > >
> > > E:\webservices\samples-axis\WEB-
> > >
> INF\src\com\bah\contractmgmt\domain\holders\ContractFinancialSummaryArrayH
> > > older.java
> > > Generating
> > > E:\webservices\samples-axis\WEB-
> > > INF\src\com\bah\contractmgmt\domain\_TTOModNTEAdj.java
> > > Generating
> > >
> > > E:\webservices\samples-axis\WEB-
> > > INF\src\com\bah\contractmgmt\domain\__Contract_FinancialSummary.java
> > > Generating
> > >
> > > E:\webservices\samples-axis\WEB-
> > >
> INF\src\com\bah\contractmgmt\domain\holders\__Contract_FinancialSummaryHol
> > > der.java
> > > Generating
> > >
> > > E:\webservices\samples-axis\WEB-
> > >
> INF\src\com\bah\contractmgmt\domain\___Contract_FinancialSummary_Type.java
> > > ContractManagementServiceSOAPBindingImpl.java already exists,
> WSDL2Java
> > > will not overwrite it.
> > > Generating
> > >
> > > E:\webservices\samples-axis\WEB-
> > >
> INF\src\com\bah\contractmgmt\service\ContractManagementServicePortType.jav
> > > a
> > > Generating
> > >
> > > E:\webservices\samples-axis\WEB-
> > >
> INF\src\com\bah\contractmgmt\service\ContractManagementServiceSOAPBindingS
> > > tub.java
> > > Generating
> > >
> > > E:\webservices\samples-axis\WEB-
> > > INF\src\com\bah\contractmgmt\service\ContractManagementService.java
> > > Generating
> > >
> > > E:\webservices\samples-axis\WEB-
> > >
> INF\src\com\bah\contractmgmt\service\ContractManagementServiceLocator.java
> > > Generating
> > >
> > > E:\webservices\samples-axis\WEB-
> > >
> INF\src\com\bah\contractmgmt\service\ContractManagementServiceTestCase.jav
> > > a
> > > Generating
> > > E:\webservices\samples-axis\WEB-
> > > INF\src\com\bah\contractmgmt\service\deploy.wsdd
> > > Generating
> > > E:\webservices\samples-axis\WEB-
> > > INF\src\com\bah\contractmgmt\service\undeploy.wsdd
> > >
> > > Notice how GetContractType, GetNavigationType, ContractType classes
> are
> > > not generated?
> > >
> > > Is there a way that Axis prefers the schema to be so that there are no
> > > underscores and ALL of the domain objects are generated?
> > > I've attached the WSDL and schema (validated in XMLSpy).  Please take
> a
> > > quick look at these files and let me know if I've missed something.
> > >
> > > Thank you,
> > > Ann
> 
> --
> Ann Keast
> Senior Consultant
> Booz | Allen | Hamilton
> W: 410.684.6459
> C: 443.801.7074




Re: Axis 1.1 Release - WSDL2Java: expected classes are not generated

Posted by Keast Ann <ke...@bah.com>.
Thank you for your quick response :) My ant task is a bit different and
I am using namespacing - that may have something to do with the
underscores. 

I am more concerned about that the fact that incorrect code seems to be
created...
Why are GetContractType, GetNavigationType, ContractType classes not
generated?

Also, the implementation classes' signatures do not use the request
objects. They use the entire contents of the request object. Nothing is
returned either. 

My WSDL excerpt:
<portType name="ContractManagementServicePortType">
	<operation name="GetContract">
		<input message="tns:GetContractRequest"/>
		<output message="tns:GetContractResponse"/>
	</operation>
	<operation name="GetNavigation">
		<input message="tns:GetNavigationRequest"/>
		<output message="tns:GetNavigationResponse"/>
	</operation>
</portType>
<binding name="ContractManagementServiceSOAPBinding"
type="tns:ContractManagementServicePortType">
	<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
	<operation name="GetContract">			<soap:operation
soapAction="getContract"/>
		<input>
			<soap:body use="literal"/>
		</input>
		<output>
			<soap:body use="literal"/>
		</output>
	</operation>
	<operation name="GetNavigation">
		<soap:operation soapAction="getNavigation"/>
		<input>
			<soap:body use="literal"/>
		</input>
		<output>
			<soap:body use="literal"/>
		</output>
	</operation>
</binding>


SOAPBindingImpl Excerpt:

public class ContractManagementServiceSOAPBindingImpl implements
com.bah.contractmgmt.service.ContractManagementServicePortType{
    public void getContract(org.apache.axis.types.PositiveInteger
getContractTypeContractID,
com.bah.contractmgmt.request._GetContractType_DerivedFinancialType
getContractTypeDerivedFinancialType, boolean
getContractTypeIncludeContractHeaderDetail,
javax.xml.rpc.holders.LongHolder contractID,
javax.xml.rpc.holders.StringHolder contractContractName,
javax.xml.rpc.holders.StringHolder contractDescription, ...


I would have thought that WSDL2Java would have generated something like
this:

public class ContractManagementServiceSOAPBindingImpl implements
com.bah.contractmgmt.service.ContractManagementServicePortType{
    public GetContractResponseType getContract(GetContractRequestType
request){}

Why isn't Axis generating all of the classes and what is the
SOAPBindingImpl different than expected?
     

Thanks very much-
Ann


Christophe Roudet wrote:
> 
> I have run wsdl2java against your wsdl and didn't notice classes prefixed
> with '_' (I haven't set any namespace to package mapping).
> 
> The ant task fragment:
> 
>           <axis-wsdl2java
>             output="${generated.dir}"
>                 verbose="true"
>             serverSide="yes"
>             skeletondeploy="no"
>             all="yes"
>             testcase="no"
>             deployScope="Application"
>             url="${build.dir}/ContractManagementService.wsdl" >
>           </axis-wsdl2java>
> 
> Here is the output:
> 
> [axis-wsdl2java] WSDL2Java
> C:\Yo\Work\workspace\Engine\build/ContractManagementService.wsdl
> [axis-wsdl2java] Parsing XML file:
> C:\Yo\Work\workspace\Engine\build/ContractManagementService.wsdl
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\navigation\types\_1\_0\contract\
> bah\holders\NavigationElementArrayHolder.java
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\ba
> h\holders\ContractTypeFinancialSummaryArrayHolder.java
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\ba
> h\ContractModType.java
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\request\types\_1\_0\contract\bah
> \GetContractType_DerivedFinancialType.java
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\ba
> h\ContractType_FinancialSummary.java
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\ba
> h\holders\ContractType_FinancialSummaryHolder.java
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\ba
> h\ContractType_FinancialSummary_ContractorType.java
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\ba
> h\ContractType_FinancialSummary_Type.java
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\ba
> h\TTOModNTEAdjType.java
> [axis-wsdl2java] ContractManagementServiceSOAPBindingImpl.java already
> exists, WSDL2Java will not overwrite it.
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\servic
> e\_1\_0\contract\bah\ContractManagementServicePortType.java
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\servic
> e\_1\_0\contract\bah\ContractManagementServiceSOAPBindingStub.java
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\servic
> e\_1\_0\contract\bah\ContractManagementServiceSOAPBindingSkeleton.java
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\servic
> e\_1\_0\contract\bah\ContractManagementService.java
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\servic
> e\_1\_0\contract\bah\ContractManagementServiceLocator.java
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\servic
> e\_1\_0\contract\bah\deploy.wsdd
> [axis-wsdl2java] Generating
> C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\servic
> e\_1\_0\contract\bah\undeploy.wsdd
> 
> BUILD SUCCESSFUL
> Total time: 3 seconds
> 
> Christophe
> 
> > -----Original Message-----
> > From: Keast Ann [mailto:keast_ann@bah.com]
> > Sent: Tuesday, June 29, 2004 12:56 PM
> > To: axis-user@ws.apache.org
> > Subject: Axis 1.1 Release - WSDL2Java: expected classes are not generated
> >
> > Hi,
> >
> > This is my first ground-up web service using the Axis 1.1 Release.  The
> > service has 2 operations:
> > 1. getContract - returns contract information
> > 2. getNavigation - returns a NavigationElement which will contain an
> > unlimited amount of NavigationElements (to be openned in a TreeView
> > control).
> >
> > I ran WSDL2Java against the attached WSDL and have discovered:
> > 1. Many of the generated classes have a prefix of "_" or "__"
> > 2. Some of the request (GetContract, GetNavigation) and domain
> > (Contract) classes are not generated at all.
> >
> > Here is the system.out of the classes that are generated from WSDL2Java:
> >
> > Generating
> >
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\domain\holders\NavigationElementArrayHolder.j
> > ava
> > Generating
> >
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\request\_GetContractType_DerivedFinancialType
> > .java
> > Generating
> >
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\domain\_NavigationElement.java
> > Generating
> >
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\domain\___Contract_FinancialSummary_Contracto
> > rType.java
> > Generating
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\domain\_ContractMod.java
> > Generating
> >
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\domain\holders\ContractFinancialSummaryArrayH
> > older.java
> > Generating
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\domain\_TTOModNTEAdj.java
> > Generating
> >
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\domain\__Contract_FinancialSummary.java
> > Generating
> >
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\domain\holders\__Contract_FinancialSummaryHol
> > der.java
> > Generating
> >
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\domain\___Contract_FinancialSummary_Type.java
> > ContractManagementServiceSOAPBindingImpl.java already exists, WSDL2Java
> > will not overwrite it.
> > Generating
> >
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\service\ContractManagementServicePortType.jav
> > a
> > Generating
> >
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\service\ContractManagementServiceSOAPBindingS
> > tub.java
> > Generating
> >
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\service\ContractManagementService.java
> > Generating
> >
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\service\ContractManagementServiceLocator.java
> > Generating
> >
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\service\ContractManagementServiceTestCase.jav
> > a
> > Generating
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\service\deploy.wsdd
> > Generating
> > E:\webservices\samples-axis\WEB-
> > INF\src\com\bah\contractmgmt\service\undeploy.wsdd
> >
> > Notice how GetContractType, GetNavigationType, ContractType classes are
> > not generated?
> >
> > Is there a way that Axis prefers the schema to be so that there are no
> > underscores and ALL of the domain objects are generated?
> > I've attached the WSDL and schema (validated in XMLSpy).  Please take a
> > quick look at these files and let me know if I've missed something.
> >
> > Thank you,
> > Ann

-- 
Ann Keast
Senior Consultant
Booz | Allen | Hamilton
W: 410.684.6459
C: 443.801.7074

RE: Axis 1.1 Release - WSDL2Java: expected classes are not generated

Posted by Christophe Roudet <cr...@activia.net>.
I have run wsdl2java against your wsdl and didn't notice classes prefixed
with '_' (I haven't set any namespace to package mapping).

The ant task fragment:

	  <axis-wsdl2java
	    output="${generated.dir}"
	  	verbose="true"
	    serverSide="yes"
	    skeletondeploy="no" 
	    all="yes"
	    testcase="no"
	    deployScope="Application"
	    url="${build.dir}/ContractManagementService.wsdl" >
	  </axis-wsdl2java>


Here is the output:


[axis-wsdl2java] WSDL2Java
C:\Yo\Work\workspace\Engine\build/ContractManagementService.wsdl
[axis-wsdl2java] Parsing XML file:
C:\Yo\Work\workspace\Engine\build/ContractManagementService.wsdl
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\navigation\types\_1\_0\contract\
bah\holders\NavigationElementArrayHolder.java
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\ba
h\holders\ContractTypeFinancialSummaryArrayHolder.java
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\ba
h\ContractModType.java
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\request\types\_1\_0\contract\bah
\GetContractType_DerivedFinancialType.java
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\ba
h\ContractType_FinancialSummary.java
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\ba
h\holders\ContractType_FinancialSummaryHolder.java
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\ba
h\ContractType_FinancialSummary_ContractorType.java
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\ba
h\ContractType_FinancialSummary_Type.java
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\contract\types\_1\_0\contract\ba
h\TTOModNTEAdjType.java
[axis-wsdl2java] ContractManagementServiceSOAPBindingImpl.java already
exists, WSDL2Java will not overwrite it.
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\servic
e\_1\_0\contract\bah\ContractManagementServicePortType.java
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\servic
e\_1\_0\contract\bah\ContractManagementServiceSOAPBindingStub.java
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\servic
e\_1\_0\contract\bah\ContractManagementServiceSOAPBindingSkeleton.java
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\servic
e\_1\_0\contract\bah\ContractManagementService.java
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\servic
e\_1\_0\contract\bah\ContractManagementServiceLocator.java
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\servic
e\_1\_0\contract\bah\deploy.wsdd
[axis-wsdl2java] Generating
C:\Yo\Work\workspace\Engine\build\generated\ContractManagementService\servic
e\_1\_0\contract\bah\undeploy.wsdd

BUILD SUCCESSFUL
Total time: 3 seconds

Christophe

> -----Original Message-----
> From: Keast Ann [mailto:keast_ann@bah.com]
> Sent: Tuesday, June 29, 2004 12:56 PM
> To: axis-user@ws.apache.org
> Subject: Axis 1.1 Release - WSDL2Java: expected classes are not generated
> 
> Hi,
> 
> This is my first ground-up web service using the Axis 1.1 Release.  The
> service has 2 operations:
> 1. getContract - returns contract information
> 2. getNavigation - returns a NavigationElement which will contain an
> unlimited amount of NavigationElements (to be openned in a TreeView
> control).
> 
> I ran WSDL2Java against the attached WSDL and have discovered:
> 1. Many of the generated classes have a prefix of "_" or "__"
> 2. Some of the request (GetContract, GetNavigation) and domain
> (Contract) classes are not generated at all.
> 
> Here is the system.out of the classes that are generated from WSDL2Java:
> 
> Generating
> 
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\domain\holders\NavigationElementArrayHolder.j
> ava
> Generating
> 
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\request\_GetContractType_DerivedFinancialType
> .java
> Generating
> 
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\domain\_NavigationElement.java
> Generating
> 
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\domain\___Contract_FinancialSummary_Contracto
> rType.java
> Generating
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\domain\_ContractMod.java
> Generating
> 
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\domain\holders\ContractFinancialSummaryArrayH
> older.java
> Generating
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\domain\_TTOModNTEAdj.java
> Generating
> 
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\domain\__Contract_FinancialSummary.java
> Generating
> 
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\domain\holders\__Contract_FinancialSummaryHol
> der.java
> Generating
> 
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\domain\___Contract_FinancialSummary_Type.java
> ContractManagementServiceSOAPBindingImpl.java already exists, WSDL2Java
> will not overwrite it.
> Generating
> 
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\service\ContractManagementServicePortType.jav
> a
> Generating
> 
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\service\ContractManagementServiceSOAPBindingS
> tub.java
> Generating
> 
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\service\ContractManagementService.java
> Generating
> 
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\service\ContractManagementServiceLocator.java
> Generating
> 
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\service\ContractManagementServiceTestCase.jav
> a
> Generating
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\service\deploy.wsdd
> Generating
> E:\webservices\samples-axis\WEB-
> INF\src\com\bah\contractmgmt\service\undeploy.wsdd
> 
> Notice how GetContractType, GetNavigationType, ContractType classes are
> not generated?
> 
> Is there a way that Axis prefers the schema to be so that there are no
> underscores and ALL of the domain objects are generated?
> I've attached the WSDL and schema (validated in XMLSpy).  Please take a
> quick look at these files and let me know if I've missed something.
> 
> Thank you,
> Ann