You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by James Mao <ja...@iona.com> on 2006/10/08 16:34:28 UTC

Re: SOAP 1.2, Multiple services on same endpoint?

Hi Dan,

No, I haven't commit the rt part code yet, but it's on my working copy, 
i'll commit that part later(just had a long vacation, and there are some 
conficts , i have to solve, and some unit test failed also), and along 
with a demo to show how soap1.2 working.
So, yes, it's just the tools. as the first line of the log explained ;)

I'm think of creating a Soap12BindingFactory, which support Soap12, and 
SoapBindigFactory support Soap11, and i have abstracted the common logic 
into AbstractSoapBindingFactory, and also move the Ioc related 
annotations into the AbstractSoapBindingFactory, but seems that our 
ExtensionManager can not handle this situation. I have to work out 
another way.(maybe some similar mechanism i used in tools, hope that 
will not cause a performance problem, have to test that before i commit)

And of course the RT should also support SOAP1.2 Fault.

I know we'll refactoring the tools, but i think that'll after the 
MS1(hopefully MS2), and i want the soap1.2 support included in the MS1, 
so i have to hask the current tools ;)


When you say multiple services/bindings,

Do you mean

    <wsdl:service name="SOAPService">
        <wsdl:port name="SoapPort" 
binding="tns:PutLastTradedPriceSoapBinding">
            <soap:address 
location="http://localhost:9107/SOAPDocLitBareService/SoapPort"/>
        </wsdl:port>
        <wsdl:port name="Soap12Port" 
binding="tns:PutLastTradedPriceSoapBinding">
            <soap12:address 
location="http://localhost:9107/SOAPDocLitBareService/Soap12Port"/>
        </wsdl:port>
    </wsdl:service>

Will that cause a problem in current code base? i hope not.

Cheers,
James.


Dan Diephouse 写道:
> Hiya,
> Have you tried this out with the runtime yet? I was just looking at 
> the code and noticed we still don't have support for parsing the SOAP 
> 1.2 extensors in the SoapBindingFactory. Or is this just tooling 
> support at this point?
>
> I am also concerned at this point how we should support multiple 
> services/bindings on the same endpoint. Has anyone else thought about 
> this? Maybe we have a routing endpoint which selects a particular 
> binding based on some criteria?
>
> Thanks for getting the maven upload request in - hopefully they'll get 
> it up soon.
> Cheers,
> - Dan
>
> James Mao wrote:
>
>> I have added the wsdl4j 1.6.1 into the maven_repo dir, since maven 
>> team have not add wsdl4j1.6.1 into remote repository.
>> So after you update your project, please don't specify the -o in the 
>> first build. this will allow maven to load the wsdl4j 1.6.1 from 
>> maven_repo and add those artifacts into your home repository. 
>> otherwise you will get the following errors:
>>
>> Missing:
>> ----------
>> 1) wsdl4j:wsdl4j:jar:1.6.1
>>
>>  Try downloading the file manually from the project website.
>>
>>  Then, install it using the command:
>>      mvn install:install-file -DgroupId=wsdl4j-DartifactId=wsdl4j \
>>          -Dversion=1.6.1 -Dpackaging=jar -Dfile=/path/to/file
>>
>>  ----------
>> 1 required artifact is missing.
>>
>> We will remove wsdl4j 1.6.1 when maven team add those artifacts into 
>> the remote repository.
>> Related JIRA task: http://jira.codehaus.org/browse/MAVENUPLOAD-1158
>>
>>
>> Thanks,
>> James.
>>
>>> Author: mmao
>>> Date: Sun Oct  8 06:53:28 2006
>>> New Revision: 454143
>>>
>>> URL: http://svn.apache.org/viewvc?view=rev&rev=454143
>>> Log:
>>> Tools support soap12
>>>
>>> * Upgrade the wsdl4j from 1.5.2 to 1.6.1
>>> * Turn on the soap12 support.
>>> * To reuse the code, we use the proxy mechanism to support soap12 in 
>>> tools.
>>> * Added Soap wsdl extensions model to work as a proxy to soap11 and 
>>> soap12. in this way, we changed the least code.
>>> * Remove elementFormDefault attribute from couple wsdl files, which 
>>> are not valid wsdl attribute.
>>> * Remove system.out.print from system tests.
>>>
>>>   
>>
>>
>
>


Re: SOAP 1.2, Multiple services on same endpoint?

Posted by James Mao <ja...@iona.com>.
Hi Dan,
> Can you explain what you mean by the ioc related annotations in 
> AbstractSoapBindingFactory and the problems you're having? Maybe I can 
> help?
>
You have a AbstractFactory, Factory1 and Factory2 extends AbstractFactory,
In AbstractFactory you have something like below:
    @Resource
    public void setBus(Bus b) {
        bus = b;
    }
   
So I mean is there any possible to inject info into Factory1?

But, no worries, i may find another way out.

> No, that won't cause a problem, but this would:
>
> <wsdl:service name="SOAPService">
>       <wsdl:port name="SoapPort" 
> binding="tns:PutLastTradedPriceSoapBinding">
>           <soap:address location="http://localhost:9107/StockService"/>
>       </wsdl:port>
>       <wsdl:port name="Soap12Port" 
> binding="tns:PutLastTradedPriceSoapBinding">
>           <soap12:address location="http://localhost:9107/StockService"/>
>       </wsdl:port>
>   </wsdl:service>
>
> Now do you see what I mean by having multiple services on the same 
> address?
That require a preprocessor to choose which binding they should load? 
TBH, i haven't think about that yet. Do you have any solutions?
In this case it means that the endpoint can accept both soap11 and 
soap12, I don't know if it's popular in the real world,
but i would suggest user to expose two ports instead of using one.

Thanks,
James.

P.S.

This should be:
<wsdl:service name="SOAPService">
      <wsdl:port name="SoapPort" 
binding="tns:PutLastTradedPriceSoapBinding">
          <soap:address location="http://localhost:9107/StockService"/>
      </wsdl:port>
      <wsdl:port name="Soap12Port" 
binding="tns:PutLastTradedPriceSoap12Binding">
          <soap12:address location="http://localhost:9107/StockService"/>
      </wsdl:port>
  </wsdl:service>

my mistake;)

Re: SOAP 1.2, Multiple services on same endpoint?

Posted by Dan Diephouse <da...@envoisolutions.com>.
Hi James,

James Mao wrote:

> Hi Dan,
>
> No, I haven't commit the rt part code yet, but it's on my working 
> copy, i'll commit that part later(just had a long vacation, and there 
> are some conficts , i have to solve, and some unit test failed also), 
> and along with a demo to show how soap1.2 working.
> So, yes, it's just the tools. as the first line of the log explained ;)
>
Sorry - what I should've asked is "what are your plans?" Which you 
kindly explained below - thanks!:-)

> I'm think of creating a Soap12BindingFactory, which support Soap12, 
> and SoapBindigFactory support Soap11, and i have abstracted the common 
> logic into AbstractSoapBindingFactory, and also move the Ioc related 
> annotations into the AbstractSoapBindingFactory, but seems that our 
> ExtensionManager can not handle this situation. I have to work out 
> another way.(maybe some similar mechanism i used in tools, hope that 
> will not cause a performance problem, have to test that before i commit)

Can you explain what you mean by the ioc related annotations in 
AbstractSoapBindingFactory and the problems you're having? Maybe I can help?

>
> And of course the RT should also support SOAP1.2 Fault.
>
> I know we'll refactoring the tools, but i think that'll after the 
> MS1(hopefully MS2), and i want the soap1.2 support included in the 
> MS1, so i have to hask the current tools ;)

Totally agree.

>
>
> When you say multiple services/bindings,
>
> Do you mean
>
>    <wsdl:service name="SOAPService">
>        <wsdl:port name="SoapPort" 
> binding="tns:PutLastTradedPriceSoapBinding">
>            <soap:address 
> location="http://localhost:9107/SOAPDocLitBareService/SoapPort"/>
>        </wsdl:port>
>        <wsdl:port name="Soap12Port" 
> binding="tns:PutLastTradedPriceSoapBinding">
>            <soap12:address 
> location="http://localhost:9107/SOAPDocLitBareService/Soap12Port"/>
>        </wsdl:port>
>    </wsdl:service>
>
> Will that cause a problem in current code base? i hope not.
>
No, that won't cause a problem, but this would:

<wsdl:service name="SOAPService">
       <wsdl:port name="SoapPort" 
binding="tns:PutLastTradedPriceSoapBinding">
           <soap:address location="http://localhost:9107/StockService"/>
       </wsdl:port>
       <wsdl:port name="Soap12Port" 
binding="tns:PutLastTradedPriceSoapBinding">
           <soap12:address location="http://localhost:9107/StockService"/>
       </wsdl:port>
   </wsdl:service>

Now do you see what I mean by having multiple services on the same address?

Cheers,
- Dan

> Dan Diephouse 写道:
>
>> Hiya,
>> Have you tried this out with the runtime yet? I was just looking at 
>> the code and noticed we still don't have support for parsing the SOAP 
>> 1.2 extensors in the SoapBindingFactory. Or is this just tooling 
>> support at this point?
>>
>> I am also concerned at this point how we should support multiple 
>> services/bindings on the same endpoint. Has anyone else thought about 
>> this? Maybe we have a routing endpoint which selects a particular 
>> binding based on some criteria?
>>
>> Thanks for getting the maven upload request in - hopefully they'll 
>> get it up soon.
>> Cheers,
>> - Dan
>>
>> James Mao wrote:
>>
>>> I have added the wsdl4j 1.6.1 into the maven_repo dir, since maven 
>>> team have not add wsdl4j1.6.1 into remote repository.
>>> So after you update your project, please don't specify the -o in the 
>>> first build. this will allow maven to load the wsdl4j 1.6.1 from 
>>> maven_repo and add those artifacts into your home repository. 
>>> otherwise you will get the following errors:
>>>
>>> Missing:
>>> ----------
>>> 1) wsdl4j:wsdl4j:jar:1.6.1
>>>
>>>  Try downloading the file manually from the project website.
>>>
>>>  Then, install it using the command:
>>>      mvn install:install-file -DgroupId=wsdl4j-DartifactId=wsdl4j \
>>>          -Dversion=1.6.1 -Dpackaging=jar -Dfile=/path/to/file
>>>
>>>  ----------
>>> 1 required artifact is missing.
>>>
>>> We will remove wsdl4j 1.6.1 when maven team add those artifacts into 
>>> the remote repository.
>>> Related JIRA task: http://jira.codehaus.org/browse/MAVENUPLOAD-1158
>>>
>>>
>>> Thanks,
>>> James.
>>>
>>>> Author: mmao
>>>> Date: Sun Oct  8 06:53:28 2006
>>>> New Revision: 454143
>>>>
>>>> URL: http://svn.apache.org/viewvc?view=rev&rev=454143
>>>> Log:
>>>> Tools support soap12
>>>>
>>>> * Upgrade the wsdl4j from 1.5.2 to 1.6.1
>>>> * Turn on the soap12 support.
>>>> * To reuse the code, we use the proxy mechanism to support soap12 
>>>> in tools.
>>>> * Added Soap wsdl extensions model to work as a proxy to soap11 and 
>>>> soap12. in this way, we changed the least code.
>>>> * Remove elementFormDefault attribute from couple wsdl files, which 
>>>> are not valid wsdl attribute.
>>>> * Remove system.out.print from system tests.
>>>>
>>>>   
>>>
>>>
>>>
>>
>>
>


-- 
Dan Diephouse
(616) 971-2053
Envoi Solutions LLC
http://netzooid.com