Hi everybody
...since 1 month I'm hanging on the following problem: I want to generate with
Axis 1.1 a pure document/literal wsdl (starting from a Java Interface ) without any
reference to SoapEncoding. For example, when, the interface refers to an array of
Objects (ex: public User[] getUsers(); ) the wsdl will contain the following:
<complexType name="ArrayOf_User>
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType"
wsdl:arrayType="tns1:User[]" />
</restriction>
</complexContent>
</complexType>
To solve this problem, I decided to try Axis 1.2alfa, but when I run Java2Wsdl whit
the same configuration used with axis 1.1 i get the following Exception:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode:
faultString: Please register a typemapping/beanmapping for
'com.cadit.trf.wsstruct.entity.custom.AnagraficaPage'
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode:
faultString: Please register a typemapping/beanmapping for
'com.cadit.trf.wsstruct.entity.custom.AnagraficaPage'
faultActor:
faultNode:
faultDetail:
Please register a typemapping/beanmapping for
'com.cadit.trf.wsstruct.entity.custom.AnagraficaPage'
at org.apache.axis.wsdl.fromJava.Emitter.writePartToMessage(Emitter.java:1871)
at
org.apache.axis.wsdl.fromJava.Emitter.writeResponseMessage(Emitter.java:1713)
at org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:1109)
at org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:1066)
at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:499)
at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:350)
at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:445)
at org.apache.axis.wsdl.Java2WSDL.run(Java2WSDL.java:622)
at org.apache.axis.wsdl.Java2WSDL.main(Java2WSDL.java:668)
Please register a typemapping/beanmapping for
'com.cadit.trf.wsstruct.entity.custom.AnagraficaPage'
at org.apache.axis.wsdl.fromJava.Emitter.writePartToMessage(Emitter.java:1871)
at
org.apache.axis.wsdl.fromJava.Emitter.writeResponseMessage(Emitter.java:1713)
at org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:1109)
at org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:1066)
at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:499)
at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:350)
at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:445)
at org.apache.axis.wsdl.Java2WSDL.run(Java2WSDL.java:622)
at org.apache.axis.wsdl.Java2WSDL.main(Java2WSDL.java:668)
To reproduce the problem, try to run java2wsdl (by axis1.2alfa) onto a class that
refears to another one.
For example, try to generate the wsdl for the interface User as follow:
public interface User
{
public UserList listUsers();
}
public class UserList
{
private String[] users;
public String[] getUser()
{
return users;
}
public void setUser(String[] users)
{
this.users = users;
}
}
What is the problem? Am I missing something nedded by the new Axis version or ?
Is there a way to generate a wsdl without the usage of soap-encoding?
Thanks in advance
Martini Roberto