[
https://issues.apache.org/jira/browse/CXF-1137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12538153
]
Glen Mazza commented on CXF-1137:
---------------------------------
I can help with the bad WSDL's. But actually, this NPE should not occur even
if validation is turned off. Can it just return a user-friendly error instead,
not just an NPE? It does not--nor should not--be as elaborate as the
validation error message. It should just say "PortType reference not found" or
similar.
As for validation, in the future, I see two types of validation:
1.) WSDL errors or BP-I violations that CXF cannot work properly with. This
should always be turned on. For example, the same request body issue (#3 of my
notes here: http://www.jroller.com/gmazza/date/20071019#notes) -- CXF wrongly
calls the first operation even though the second may be intended.
2.) Those BP-I violations that CXF can still handle correctly anyway. This
probably should be optional, turned off by default.
I think what is needed is that each of our validation tests have an internal
"requiredTest" flag that wsdl2java activates if this value is "true".
WDYT?--How difficult would this be?
Glen
> CXF wsdl2java NPE's if it cannot find the wsdl:portType identified by a
> wsdl:binding
> ------------------------------------------------------------------------------------
>
> Key: CXF-1137
> URL: https://issues.apache.org/jira/browse/CXF-1137
> Project: CXF
> Issue Type: Bug
> Affects Versions: 2.0.2
> Reporter: Glen Mazza
> Assignee: maomaode
> Attachments: helloWorld.wsdl
>
>
> If a user accidentally gives a wrong portType name in the wsdl:binding
> section, wsdl2java returns a NullPointerException without giving the user any
> feedback why. For example, for this portType:
> <wsdl:portType name="HelloWorldPortType">
> .....
> </wsdl:portType>
> The name should be tns:HelloWorldPortType in the binding:
> <wsdl:binding name="HelloWorldSoapBinding" type="tns:HelloWorldPortType">
> .....
> </wsdl:binding>
> But if the user accidentally has this in the WSDL:
> <wsdl:binding name="HelloWorldSoapBinding" type="tns:HelloWorld"> (wrong
> type given)
> .....
> </wsdl:binding>
> wsdl2java will return an NPE without any feedback about what the problem is.
> GlassFish Metro correctly returns a user-friendly error message under these
> circumstances:
> wsdl:portType "{http://company.hw.demo/}HelloWorld" not found in the wsdl:
> file:/blah/blah/blah/helloWorld.wsdl
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.