On Thu, Apr 17, 2008 at 11:02 AM, Marina Deslaugiers <
[EMAIL PROTECTED]> wrote:

> Hi,
>
> Yes I had looked to that demo example and did not succeded in making it
> work due to an execution error (which is the same as below) ; furthermore, I
> noticed the web service was oflline.
>
> I download the new version you indicate to me in your answer  say
> https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/demos/xml-bigbank/
> but it does not work:
>
> - first, Ant fails because the "build-dependency.xml" file is missing;
>   -> I do not know whether it is correct but I have used the one provided
> in the previous version of the xml-bigbank
> - after that I get the following execution error:
>
> =======================
> ant runBuildfile: build.xml
> run:
>        [java] Exception in thread "main"
> javax.xml.stream.FactoryConfigurationError: Provider
> com.bea.xml.stream.MXParserFactory not found
>     [java]     at
> javax.xml.stream.FactoryFinder.newInstance(FactoryFinder.java:72)
>     [java]     at
> javax.xml.stream.FactoryFinder.find(FactoryFinder.java:176)
>     [java]     at
> javax.xml.stream.FactoryFinder.find(FactoryFinder.java:92)
>     [java]     at
> javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:136)
>     [java]     at
> org.apache.tuscany.sca.host.embedded.impl.ReallySmallRuntimeBuilder.createContributionService(ReallySmallRuntimeBuilder.java:181)
>     [java]     at
> org.apache.tuscany.sca.host.embedded.impl.ReallySmallRuntime.start(ReallySmallRuntime.java:129)
>     [java]     at
> org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:99)
>     [java]     at
> org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:230)
>     [java]     at
> org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:69)
>     [java]     at bigbank.BigBankClient.main(BigBankClient.java:30)
>     [java] Java Result: 1
>
> BUILD SUCCESSFUL
> Total time: 2 seconds
> =======================
>
> So I cannot go forward on my problem with connecting to the external web
> service. Can you still help please; I can send you my coding if it helps.
>
> In your answer, you mentionned "the trunk"; what and where is it ?
>
> Regards,
> Marina.
>
>
> Le 15 avr. 08 à 18:37, Luciano Resende a écrit :
>
>  Have you looked in the XML BigBank demo application ? This utilizes a
> > external stock quote web services. Note that the 1.1 service that was
> > in use has gone offline, and the trunk or 1.2 version of the
> > application should work for you, as we changed the service in use.
> >
> > [1] https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/
> > demos/xml-bigbank/
> >
> > On Tue, Apr 15, 2008 at 9:30 AM, Marina Deslaugiers
> > <[EMAIL PROTECTED]> wrote:
> >
> > > Hello,
> > >
> > >  I have began to work on SCA and Tuscany SCA Java a few time ago and I
> > > would
> > > greetly need your help as I have been asked to urgently contribute to
> > > an
> > > experimentation using SCA and Tuscany Java. This experimentation
> > > especially
> > > involves already existing and deployed business web services.
> > >
> > >  I have read various documents on SCA and in particular the very nice
> > > article "Introducing SCA" by David Chappell & Associates. Reading this
> > > paper
> > > - in particular, the section "putting together: illustrating an SCA
> > > application and the corresponding figure - I was convinced that it was
> > > possible to use binding.ws to connect from a SCA domain to a non-SCA
> > > web
> > > service as well as from a SCA domain to a web service in another SCA
> > > domain
> > > - say invoke an external non-SCA web service or an extra-SCAdomain web
> > > service.
> > >
> > >  However, after installing and experiencing with
> > > tuscany-sca-1.1-incubating
> > > I did not succeeded once on invoking an external SOAP (asmx) web
> > > service,
> > > whatever I use binding.ws uri= ... or binding.ws wsdlElement etc..
> > > Depending
> > > on the description of binding.ws in the composite file, I get a
> > > different
> > > execution exception (service not found in WSDL,
> > > reflect.UndeclaredThrowableException, ClassCast Exception ...)
> > >
> > >  Moreover, I do not see any corresponding examples in Tuscany Java.
> > >
> > >  So my question is : does this work in Tuscany SCA Java 1.1 ? If the
> > > answer
> > > is yes, would you please provide me with an corresponding working
> > > example
> > > (because in that case, I obvioulsy have made a mistake somewhere in
> > > the code
> > > or composite description )? If the answer is no, is there another
> > > already
> > > available version in which that is working  or a planned version
> > > within a
> > > few months ?
> > >
> > >  Thanks very much.
> > >
> > >  Regards,
> > >  Marina.
> > >
> > >
> > >
> > >
> >
> >
> > --
> > Luciano Resende
> > Apache Tuscany Committer
> > http://people.apache.org/~lresende<http://people.apache.org/%7Elresende>
> > http://lresende.blogspot.com/
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
> Hi Marina

If you can send you sample that shows the problem and the WSDL for the
external service you are trying to contact then one of us and give it a go
and see what is going on. Is the external service publicly available on the
internet?

If you are able to do this the best thing to do is to open a JIRA (
http://issues.apache.org/jira/browse/TUSCANY) and attach the code there.
Attachments to posts to the mailing list are often removed by the mail
infrastructure.


As a bit of backgroun, in SCA the way that you would talk to an external web
service is by configuring binding.ws with the WSDL for the external service
as part of a component reference. So, for example, you would expect to see a
.composite file along the following lines  (I took this from the Tuscany
sample helloworld-ws-reference).


    <component name="HelloTuscanyServiceComponent">
      <implementation.java class="helloworld.HelloWorldServiceComponent"/>
      <reference name="helloWorldService">
        <binding.ws wsdlElement="
http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)"/>
      </reference>
    </component>

The component implementation (helloworld.HelloWorldServiceComponent) would
be something like.

public class HelloWorldServiceComponent implements HelloWorldService {

    @Reference
    HelloWorldService helloWorldService;

    public String getGreetings(String name) {
        System.out.println("Called getGreetings");
        return helloWorldService.getGreetings(name);
    }
}

So you can see that all that the SCA service component needs to do is use
the reference proxy that is automatically injected into it. The details of
this reference proxy are of course worked out by the runtime using the
information gained from the <binding.ws wsdlElement="
http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)"/>
element. In this case the binding and service from the  WSDL look something
like.

....
    <wsdl:binding name="HelloWorldSoapJmsBinding" type="tns:HelloWorld">
        <wsdlsoap:binding style="document" transport="
http://schemas.xmlsoap.org/soap/jms"/>
        <wsdl:operation name="getGreetings">
            <wsdlsoap:operation soapAction=""/>
            <wsdl:input name="getGreetingsRequest">
                <wsdlsoap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="getGreetingsResponse">
                <wsdlsoap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="HelloWorldService">
        <wsdl:port binding="tns:HelloWorldSoapBinding"
name="HelloWorldSoapPort">
            <wsdlsoap:address location="
http://localhost:8085/HelloWorldService"/>
        </wsdl:port>
    </wsdl:service>

</wsdl:definitions>

So the reference should target the service at the location defined by the
<wsdlsoap:address location="http://localhost:8085/HelloWorldService"/>
element. In your case there maybe some feature of the WSDL that is upsetting
the runtime and that we haven;t taken account of. The only way to really
tell is if we can try the WSDL.

Hope this helps.

Simon

Reply via email to