[
https://issues.apache.org/jira/browse/TUSCANY-2042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12567709#action_12567709
]
scottkurz edited comment on TUSCANY-2042 at 2/11/08 9:16 AM:
--------------------------------------------------------------
I recreated this at the same time as stepping through the debugger.
I saw a problem here:
Types types = definition.getTypes();
if (types != null) {
for (Object ext : types.getExtensibilityElements()) {
if (ext instanceof Schema) {
Element element = ((Schema)ext).getElement();
if
(element.getAttribute("targetNamespace").equals(namespaceURI)) {
I think the J2W is generating the WSDL definition with a TNS of "http://blah"
while the schema TNS is being
generated as "http://blah/xsd".
This equals() was returning false, causing the 'document' ref to remain null,
causing a return soon after:
if (document == null) {
return;
I think I'm running on an older Axis2 level.. I wonder if that could have
anything to do with this?
was (Author: scottkurz):
I recreated this at the same time as stepping through the debugger.
I saw a problem here:
(not sure if it's the same as you
> Dynamically generated WSDL not generating output message for void types
> -------------------------------------------------------------------------
>
> Key: TUSCANY-2042
> URL: https://issues.apache.org/jira/browse/TUSCANY-2042
> Project: Tuscany
> Issue Type: Bug
> Reporter: Lou Amodeo
> Attachments: helloworld-ws-asynch.jar
>
>
> This problem is similar to Tuscany-1658 but it appears the fix is not working
> properly in all cases. I am finding that the
> namespace and element namespace values assigned durig the dynamic wsdl
> definition generation are causing the following code to not function because
> the if (element.getAttribute("targetNamespace").equals(namespaceURI)) {
> is returning false. This is because the target namespace is being generated
> as : targetNamespace=http://helloworld
> while the element namespace is : http://helloworld/xsd
> The method signature is : public void getGreetings(String name)
> class: Java2WSDLHelper.java
> private static void processNoArgAndVoidReturnMethods(Definition definition,
> Class javaInterface) {
> String namespaceURI = definition.getTargetNamespace();
> String prefix = definition.getPrefix(namespaceURI);
> String xsPrefix =
> definition.getPrefix("http://www.w3.org/2001/XMLSchema");
> PortType portType =
> (PortType)definition.getAllPortTypes().values().iterator().next();
> Element schema = null;
> Document document = null;
> Types types = definition.getTypes();
> if (types != null) {
> for (Object ext : types.getExtensibilityElements()) {
> if (ext instanceof Schema) {
> Element element = ((Schema)ext).getElement();
> if
> (element.getAttribute("targetNamespace").equals(namespaceURI)) {
> schema = element;
> document = schema.getOwnerDocument();
> break;
> }
> }
> }
> }
> if (document == null) {
> return;
> }
> Definition generated:
> Definition: name=null targetNamespace=http://helloworld
> Types:
> SchemaExtensibilityElement ({http://www.w3.org/2001/XMLSchema}schema):
> required=null
> element=[xs:schema: null]
> Message: name={http://helloworld}getGreetingsMessage
> Part: name=part1
> elementName={http://helloworld/xsd}getGreetings
> PortType: name={http://helloworld}HelloWorldServicePortType
> Operation: name=getGreetings
> style=ONE_WAY,0
> Input: name=null
> Message: name={http://helloworld}getGreetingsMessage
> Part: name=part1
> elementName={http://helloworld/xsd}getGreetings
> Binding: name={http://helloworld}HelloWorldServiceSOAP12Binding
> PortType: name={http://helloworld}HelloWorldServicePortType
> Operation: name=getGreetings
> style=ONE_WAY,0
> Input: name=null
> Message: name={http://helloworld}getGreetingsMessage
> Part: name=part1
> elementName={http://helloworld/xsd}getGreetings
> BindingOperation: name=getGreetings
> BindingInput: name=null
> SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap12/}body):
> required=null
> use=literal
> namespaceURI=http://helloworld
> SOAPOperation ({http://schemas.xmlsoap.org/wsdl/soap12/}operation):
> required=null
> soapActionURI=urn:getGreetings
> style=document
> SOAPBinding ({http://schemas.xmlsoap.org/wsdl/soap12/}binding):
> required=null
> transportURI=http://schemas.xmlsoap.org/soap/http
> style=document
> Binding: name={http://helloworld}HelloWorldServiceSOAP11Binding
> PortType: name={http://helloworld}HelloWorldServicePortType
> Operation: name=getGreetings
> style=ONE_WAY,0
> Input: name=null
> Message: name={http://helloworld}getGreetingsMessage
> Part: name=part1
> elementName={http://helloworld/xsd}getGreetings
> BindingOperation: name=getGreetings
> BindingInput: name=null
> SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body):
> required=null
> use=literal
> namespaceURI=http://helloworld
> SOAPOperation ({http://schemas.xmlsoap.org/wsdl/soap/}operation):
> required=null
> soapActionURI=urn:getGreetings
> style=document
> SOAPBinding ({http://schemas.xmlsoap.org/wsdl/soap/}binding):
> required=null
> transportURI=http://schemas.xmlsoap.org/soap/http
> style=document
> Service: name={http://helloworld}HelloWorldService
> Port: name=HelloWorldServiceSOAP11port
> Binding: name={http://helloworld}HelloWorldServiceSOAP11Binding
> PortType: name={http://helloworld}HelloWorldServicePortType
> Operation: name=getGreetings
> style=ONE_WAY,0
> Input: name=null
> Message: name={http://helloworld}getGreetingsMessage
> Part: name=part1
> elementName={http://helloworld/xsd}getGreetings
> BindingOperation: name=getGreetings
> BindingInput: name=null
> SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body):
> required=null
> use=literal
> namespaceURI=http://helloworld
> SOAPOperation ({http://schemas.xmlsoap.org/wsdl/soap/}operation):
> required=null
> soapActionURI=urn:getGreetings
> style=document
> SOAPBinding ({http://schemas.xmlsoap.org/wsdl/soap/}binding):
> required=null
> transportURI=http://schemas.xmlsoap.org/soap/http
> style=document
> SOAPAddress ({http://schemas.xmlsoap.org/wsdl/soap/}address):
> required=null
> locationURI=http://localhost:8080/axis2/services/HelloWorldService
> Port: name=HelloWorldServiceSOAP12port
> Binding: name={http://helloworld}HelloWorldServiceSOAP12Binding
> PortType: name={http://helloworld}HelloWorldServicePortType
> Operation: name=getGreetings
> style=ONE_WAY,0
> Input: name=null
> Message: name={http://helloworld}getGreetingsMessage
> Part: name=part1
> elementName={http://helloworld/xsd}getGreetings
> BindingOperation: name=getGreetings
> BindingInput: name=null
> SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap12/}body):
> required=null
> use=literal
> namespaceURI=http://helloworld
> SOAPOperation ({http://schemas.xmlsoap.org/wsdl/soap12/}operation):
> required=null
> soapActionURI=urn:getGreetings
> style=document
> SOAPBinding ({http://schemas.xmlsoap.org/wsdl/soap12/}binding):
> required=null
> transportURI=http://schemas.xmlsoap.org/soap/http
> style=document
> SOAPAddress ({http://schemas.xmlsoap.org/wsdl/soap12/}address):
> required=null
> locationURI=http://localhost:8080/axis2/services/HelloWorldService
>
> I have attached a jar containing the testcase.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]