axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Veithen <andreas.veit...@gmail.com>
Subject Re: svn commit: r991441 - /axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java
Date Mon, 06 Sep 2010 20:36:26 GMT
Isuru,

Can you send me a sample WSDL for which the problem occurs?

Andreas

On Mon, Sep 6, 2010 at 10:24, Isuru Suriarachchi <isurues@gmail.com> wrote:
>
>
> On Sun, Sep 5, 2010 at 2:24 PM, Andreas Veithen <andreas.veithen@gmail.com>
> wrote:
>>
>> On Sun, Sep 5, 2010 at 05:12, Isuru Suriarachchi <isurues@gmail.com>
>> wrote:
>> >
>> >
>> > On Sat, Sep 4, 2010 at 5:26 PM, Andreas Veithen
>> > <andreas.veithen@gmail.com>
>> > wrote:
>> >>
>> >> On Thu, Sep 2, 2010 at 08:39, Isuru Suriarachchi <isurues@gmail.com>
>> >> wrote:
>> >> >
>> >> >
>> >> > On Thu, Sep 2, 2010 at 1:47 AM, Andreas Veithen
>> >> > <andreas.veithen@gmail.com>
>> >> > wrote:
>> >> >>
>> >> >> How can a namespace prefix conflict with a URI scheme? That sounds
>> >> >> like a quick and dirty workaround for a more fundamental issue.
>> >> >
>> >> > Let me explain it further.. I came up with a WSDL generated by our
>> >> > AxisService2WSDL11 class which has the following wsaw:Action for some
>> >> > message of some operation.
>> >> >
>> >> > wsaw:Action="http://www.webtest.org/echoStringMethodRequest"
>> >> >
>> >> > And also there is a namespace declaration in this WSDL as follows..
>> >> >
>> >> > xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
>> >> >
>> >> > When I generate the stub for this WSDL, it sets the Action on the
>> >> > stub
>> >> > as
>> >> > follows..
>> >> >
>> >> >
>> >> >
>> >> > _operationClient.getOptions().setAction("//www.webtest.org/echoStringMethodRequest");
>> >> >
>> >> > So this is due to the usage of "http" as a namespace prefix and it
>> >> > has
>> >> > treated the http://.. URL as <prefix>:<localname>.
>> >>
>> >> The SOAP action is a URI, not a QName, so there is no reason why the
>> >> code generator would interpret "http" as a prefix.
>> >
>> > Yes agreed..
>> >
>> >>
>> >> I think you should
>> >> try to determine why it is doing that instead of working around the
>> >> issue by changing the WSDL generation code.
>> >
>> > I did have a look into the code generator code. There, wsdl4j returns
>> > the
>> > action as a QName. That is why this issue occurs. Have a look at the
>> > getWSAWActionExtensionAttribute(AttributeExtensible ae) method in
>> > WSDL11ActionHelper. Ideally it should provide a method to get the string
>> > value of the attribute. But currently there's no such method.
>>
>> Then I would suggest to review the following code in
>> WSDL11ActionHelper#getWSAWActionExtensionAttribute:
>>
>>        if (attribute instanceof QName) {
>>            QName qn = (QName) attribute;
>>            attribute = qn.getLocalPart();
>>        }
>>
>> The code is used only for the action attribute and we know that the
>> action is not a QName. Thus, instead of just taking the local part, we
>> should rebuild the qualified name (prefix + ":" + localPart) to
>> reconstruct the original value of the attribute. WDYT?
>
> Actually I initially tried this as well. But as Amila has already pointed
> out, prefix is "" in this case.
>
>>
>> >>
>> >> > Thanks,
>> >> > ~Isuru
>> >> >
>> >> >>
>> >> >> Andreas
>> >> >>
>> >> >> On Wed, Sep 1, 2010 at 07:47,  <isurues@apache.org> wrote:
>> >> >> > Author: isurues
>> >> >> > Date: Wed Sep  1 05:47:27 2010
>> >> >> > New Revision: 991441
>> >> >> >
>> >> >> > URL: http://svn.apache.org/viewvc?rev=991441&view=rev
>> >> >> > Log:
>> >> >> > changing the http prefix from http to http1. This is because,
use
>> >> >> > of
>> >> >> > http as a prefix causes conflicts with actual URLs like
>> >> >> > http://foo.com
>> >> >> >
>> >> >> > Modified:
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >  axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java
>> >> >> >
>> >> >> > Modified:
>> >> >> >
>> >> >> >
>> >> >> > axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java
>> >> >> > URL:
>> >> >> >
>> >> >> >
>> >> >> > http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java?rev=991441&r1=991440&r2=991441&view=diff
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > ==============================================================================
>> >> >> > ---
>> >> >> >
>> >> >> >
>> >> >> > axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java
>> >> >> > (original)
>> >> >> > +++
>> >> >> >
>> >> >> >
>> >> >> > axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java
>> >> >> > Wed Sep  1 05:47:27 2010
>> >> >> > @@ -45,7 +45,7 @@ public interface Java2WSDLConstants {
>> >> >> >
>> >> >> >     String HTTP_NAMESPACE =
>> >> >> > "http://schemas.xmlsoap.org/wsdl/http/";
>> >> >> >     String MIME_NAMESPACE =
>> >> >> > "http://schemas.xmlsoap.org/wsdl/mime/";
>> >> >> > -    String HTTP_PREFIX = "http";
>> >> >> > +    String HTTP_PREFIX = "http1";
>> >> >> >     String MIME_PREFIX = "mime";
>> >> >> >     String URN_PREFIX = "urn";
>> >> >> >     String COLON_SEPARATOR = ":";
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >>
>> >> >>
>> >> >> ---------------------------------------------------------------------
>> >> >> To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
>> >> >> For additional commands, e-mail: java-dev-help@axis.apache.org
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Technical Lead,
>> >> > WSO2 Inc. http://wso2.org/
>> >> > Blog : http://isurues.wordpress.com/
>> >> >
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
>> >> For additional commands, e-mail: java-dev-help@axis.apache.org
>> >>
>> >
>> >
>> >
>> > --
>> > Technical Lead,
>> > WSO2 Inc. http://wso2.org/
>> > Blog : http://isurues.wordpress.com/
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
>> For additional commands, e-mail: java-dev-help@axis.apache.org
>>
>
>
>
> --
> Technical Lead,
> WSO2 Inc. http://wso2.org/
> Blog : http://isurues.wordpress.com/
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message