Hi,
I did a quick check at the wsdl you append, it's an invalid wsdl
indeed per jaxws
<wsdl:operation name="SubscriptionEndOp">
<wsdl:output message="wse:SubscriptionEnd"
wsa:Action="http://schemas.xmlsoap.org/ws/2004/08/eventing/SubscriptionEnd
" />
</wsdl:operation>
This operation has no input message, generally this kind of operation
is considered as notification, but it's not supported by jaxws. And
generally you can use callback to send a notification from server to
client as a solution(we have a callback example shipped with kit which
you may wanna take a look), but this kind of wsdl isn't supported in
jaxws, jaxws requires input message anyway.
Freeman
On 2012-4-10, at 下午5:23, Mirco Dunker wrote:
Hi folks,
I want to generate a CXF Client for the HP Operation Manager System.
The Operation Manager provides me 9 WSDL Files and 16 XSD Files (see
appendix). And there are generated axis2 client sources. But I want
to use CXF instead ot axis. So I tried to generate my own cxf client.
Now I got an error using the wsdl2java generator:
Loading FrontEnd jaxws ...
Loading DataBinding jaxb ...
wsdl2java -client -d C:\Data\Workspace
\Eclipse_Indigo_x86\HpOmuWsClient\.cxftmp/src -classdir C:\Data
\Workspace\Eclipse_Indigo_x86\HpOmuWsClient\target\classes -p http://schemas.hp.com/ism/ServiceOperation/IncidentManagement/1/Incident=com.hp.schemas.ism.serviceoperation.incidentmanagement.1.incident
-impl -validate -exsh false -dns true -dex true -wsdlLocation http:/
xxx/opr-webservice/Incident.svc?wsdl -verbose -defaultValues -fe
jaxws -db jaxb -wv 1.1 file:/C:/Data/Workspace/Eclipse_Indigo_x86/
HpOmuWsClient/src/main/resources/wsdls/IncidentService.wsdl
wsdl2java - Apache CXF 2.5.1
WSDLToJava Error:
Summary: Failures: 1, Warnings: 0
<<< ERROR!
Invalid WSDL, Operation SubscriptionEndOp in PortType {http://schemas.hp.com/ism/ServiceOperation/IncidentManagement/1/Incident
}IncidentAccess not request-response or one-way
Non unique body parts, operation [ Put ] and operation [ Create ]
in binding {http://schemas.hp.com/ism/ServiceOperation/IncidentManagement/1/Incident
}WsManIncidentBinding have the same body block: {http://schemas.hp.com/ism/ServiceOperation/IncidentManagement/1/Incident
}Incident
org.apache.cxf.tools.common.ToolException:
Summary: Failures: 1, Warnings: 0
<<< ERROR!
Invalid WSDL, Operation SubscriptionEndOp in PortType {http://schemas.hp.com/ism/ServiceOperation/IncidentManagement/1/Incident
}IncidentAccess not request-response or one-way
Non unique body parts, operation [ Put ] and operation [ Create ]
in binding {http://schemas.hp.com/ism/ServiceOperation/IncidentManagement/1/Incident
}WsManIncidentBinding have the same body block: {http://schemas.hp.com/ism/ServiceOperation/IncidentManagement/1/Incident
}Incident
at
org
.apache
.cxf
.tools
.validator.internal.WSDL11Validator.isValid(WSDL11Validator.java:137)
at
org
.apache
.cxf
.tools
.wsdlto
.frontend
.jaxws
.wsdl11.JAXWSDefinitionBuilder.validate(JAXWSDefinitionBuilder.java:
201)
at
org
.apache
.cxf
.tools
.wsdlto
.frontend
.jaxws
.wsdl11.JAXWSDefinitionBuilder.validate(JAXWSDefinitionBuilder.java:
61)
at
org
.apache
.cxf
.tools
.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:177)
at
org
.apache
.cxf
.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:
138)
at
org
.apache
.cxf
.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:
286)
at
org
.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:
103)
at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)
at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)
at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:184)
I can't believe that I have to change the standard HP WSDL Files to
generate a cxf client. Is there a way to avoid this error and gerate
a working cxf client?
Thanks in advance,
Mirco
<HPOM.zip>
---------------------------------------------
Freeman Fang
FuseSource
Email:[email protected]
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
http://blog.sina.com.cn/u/1473905042
weibo: http://weibo.com/u/1473905042