Hi,
Can you tell me what is the WSDL location in your TelewestBindingService
class that was generated using wsimport?
(you can use wsimport -keep )
On Thu, Dec 11, 2008 at 7:35 AM, Henrik Pettersen <
[EMAIL PROTECTED]> wrote:
> All,
>
> I am attempting to proxy some of our webservices, but have run into a small
> problem.
>
> 1. Our codebase has a set of generated stubs, created by wsimport with our
> webservice wsdl files
>
> 2. We need to be able to reuse these same stubs to point to both our
> original webservice, as well as our synapse webservice proxy
>
> 3. However, when we try to use Synapse as a proxy, we get this error from
> the stubs classes:
>
> Port {http://ican.web.services}TelewestBindingPort is not found in
> service ...
> {http://ican.web.services}ValidateCLI_Service in the wsdl
> http://localhost:8280/services/ValidateCLI?wsdl
>
> where *TelewestBindingPort* is the name of the binding name in our
> original wsdl:
>
> <...snip>
> <binding name="TelewestBinding" type="jcapsws:TelewestPortType">
> <soap:binding style="document" transport="
> http://schemas.xmlsoap.org/soap/http"/>
> <operation name="ValidateCLI">
> </snip...>
>
> 4. Looking at the proxied wsdl returned by Synapse, we see that the
> original binding name *TelewestBindingPort* is gone:
>
> <...snip>
> <wsdl:binding name="ValidateCLIHttpBinding"
> type="jcapsws:ValidateCLIPortType">
> <http:binding verb="POST"/>
> </snip...>
>
>
> Looking around, it seemed like using the service parameter
> 'useOriginalWsdl' and 'modifyUserWSDLPortAddress' would be the way forward.
> However, I believe I have been unable to get this feature to work, as the
> wsdl served up by Synapse is completely identical no matter what value
> (true/false) these parameters are set to. Perhaps I am misunderstanding how
> this feature works, or perhaps I am going wrong in my synapse.xml. Not sure.
>
>
> Here is my current setup:
> -- Microsoft Windows XP Pro SP3
> -- Java 1.6
> -- A development snapshot of Synapse from 1-2 days ago
>
> I realise that a development snapshot is in no way stable, but there have
> been some crucial bugfixes to your codebase since the 1.2 release.
>
> A complete, standalone test case can be downloaded from here:
> http://sparklingideas.co.uk/synapse.test.case.henrik.zip* [28 MB]*
>
> For convenience, I have also attached to this email:
>
> 1. *validateCli.wsdl* [Original WSDL file]
> 2. *proxied_validateCli.wsdl *[Proxied WSDL file, served up by Synapse]
> 3. *synapse.xml*
> 4. *stack.trace* [stacktrace from the wsimport stubs, when
> "TelewestBindingPort" can not be found]
> 5. *generated.java.source.sample.java* [File generated by wsimport.
> Note the hardcoded binding name "TelewestBindingPort"]
>
> which can also be found in the zip file. Here is my proxy config:
>
> <proxy name="ValidateCLI" transports="http" trace="enable">
> <publishWSDL key="validateCli.wsdl" trace="enable">
> <parameter name="useOriginalwsdl">true</parameter>
> <parameter name="modifyUserWSDLPortAddress">true</parameter>
>
> <resource location="ValidateCLIRequest_V1.0.xsd"
> key="ValidateCLIRequest"/>
> <resource location="ValidateCLIResponse_V1.0.xsd"
> key="ValidateCLIResponse"/>
> <resource location="commontypes.xsd"
> key="CommonTypes"/>
> </publishWSDL>
> <target>
> <inSequence></inSequence>
> <outSequence></outSequence>
> </target>
> </proxy>
>
> Unfortunately, I am unable to change our original wsdl file, nor can I
> re-run the wsimport routine against the proxied webservice wsdl, to fix the
> binding name problem. Pity.
>
> If anyone has had any experience with these sort of issues around binding
> names, I would be very grateful if you could share some of your experiences.
> Perhaps I am doing something wrong in my configuration, or perhaps what I am
> attempting to do is simply not possible (!)
>
> Any help would be greatly appreciated.
>
> Many thanks!
>
> Sincerely,
> Henrik Pettersen
> Sparkling Ideas, ltd.
>
--
Charith Dhanushka Wickramarachchi
http://charithwiki.blogspot.com/