Hey Fengxiang

   Implementation.widget won't mashup multiple widgets just yet, but
looks like your approach using iFrames should work.
   From reading your code, you should probably add the code below to
contactwidget and callwidget, and any proper reference.

        <service name="Widget">

            <t:binding.http />

        </service>

   You also don't need to have the following code if you are using
implementation.widget

        <script type="text/javascript" src="SCADomain/scaDomain.js"></script>

   If you could create a jira with a patch with your test case, that
would probably help me investigate the issue further and give you a
more concrete answer. I'll continue to look into this issue.


On Mon, Mar 17, 2008 at 3:10 AM, Fengxiang <[EMAIL PROTECTED]> wrote:
> Dear All.
>  Can anyone help me for a further understand of  binding:implemetation.widget
>  .
>  I got the following code:
>  <?xml version="1.0" encoding="UTF-8"?>
>  <composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
>     xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"; name="ICTComposite"
>     targetNamespace="http://ICTComposite";>
>     <component name="ContactServiceComponent">
>         <implementation.java class="
>  com.asb.services.contact.ContactServiceImpl" />
>         <service name="ContactService">
>             <interface.java interface="
>  com.asb.services.contact.ContactService"></interface.java>
>             <t:binding.jsonrpc />
>         </service>
>     </component>
>     <component name="CallServiceComponent">
>         <implementation.java class="com.asb.services.call.CallServiceImpl"
>  />
>         <service name="CallService">
>             <interface.java interface="com.asb.services.call.CallService
>  "></interface.java>
>             <t:binding.jsonrpc />
>         </service>
>     </component>
>     <component name="icthome">
>
>         <t:implementation.widget location="webtop/contactwidget.html" />
>         <t:implementation.widget location="webtop/callwidget.html" />
>         <t:implementation.widget location="webtop/index.html" />
>         <service name="Widget">
>             <t:binding.http />
>         </service>
>         <reference name="contactService" target="ContactServiceComponent">
>             <t:binding.jsonrpc />
>         </reference>
>         <reference name="callService" target="CallServiceComponent">
>             <t:binding.jsonrpc />
>         </reference>
>     </component>
>
>
>  </composite>
>
>
>  I want to make a webapp.there are 3 pages :index.html,callwidget.html and
>  contactwidget.html.
>  I wish to mashup the last two in index.html:
>
>  ----------------------------------------
>  index.html:------------------------------------------------------------
>  <html>
>  <head>
>  <title>ict-index-page</TITLE>
>
>  <script type="text/javascript" src="contactwidget.js"></script>
>  <script type="text/javascript" src="callwidget.js"></script>
>  <script type="text/javascript" src="SCADomain/scaDomain.js"></script>
>
>  </head>
>
>  <body>
>  <h1>ict</h1>
>
>  <iframe src="contactwidget.html" height="500"></iframe>
>  <iframe src="callwidget.html" height="500"></iframe>
>
>
>  </body>
>  </html>
>
>  ------------------------------
>  
> callwidget.html-------------------------------------------------------------------
>  <html>
>  <head>
>  <title>call</TITLE>
>
>  <script type="text/javascript" src="/SCADomain/scaDomain.js"></script>
>  <script type="text/javascript" src="callwidget.js"></script>
>  <script language="JavaScript">
>
>     //@Reference
>     var ContactService = new Reference("callService ");
>     function CallService_getResponse(items) {
>
>         document.getElementById('callComponent').innerHTML=items+"fd";
>     }
>
>     function a(){
>     var CallService = new Reference("CallService");
>     CallService.call("",CallService_getResponse);
>     //document.getElementById('contactComponent').innerHTML="ffdafdfd";
>     }
>  </script>
>
>  </head>
>
>  <body onload="a()">
>  <h1>callwidget</h1>
>
>
>        <form name="callComponentForm">
>         <div id="callComponent"></div>
>         ffff<br>
>
>        </form>
>
>      <br>
>
>
>
>  </body>
>  </html>
>
>  ------------------------------
>  
> contactwidget.html-------------------------------------------------------------------
>  <html>
>  <head>
>  <title>Store</TITLE>
>
>  <script type="text/javascript" src="SCADomain/scaDomain.js"></script>
>  <script type="text/javascript" src="contactwidget.js"></script>
>  <script language="JavaScript">
>
>     //@Reference
>     var ContactService = new Reference("contactService");
>     function ContactService_getResponse(items) {
>         var contactList = "";
>         for (var i=0; i<items.length; i++)
>             contactList +=items[i]+ ' <br>';
>         document.getElementById('contactComponent').innerHTML=contactList;
>     }
>
>     function a(){
>     var ContactService = new Reference("ContactService");
>     ContactService.getContactList(ContactService_getResponse);
>
>     }
>  </script>
>
>  </head>
>
>  <body onload="a()">
>  <h1>contactwidget</h1>
>
>
>        <form name="contactComponentForm">
>         <div id="contactComponent"></div>
>         ffff<br>
>
>        </form>
>
>      <br>
>
>
>
>  </body>
>  </html>
>
>  ------------------------------------------------------
>  when i run the programe,the tunscany alwasy show warning of :
>  WARNING: Reference not found for component reference: icthome/contactService
>  WARNING: Reference not found for component reference: icthome/callService
>
>
>  Thanks a lot!
>  BR.
>



-- 
Luciano Resende
Apache Tuscany Committer
http://people.apache.org/~lresende
http://lresende.blogspot.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to