You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Luciano Resende (JIRA)" <de...@tuscany.apache.org> on 2010/11/09 21:39:09 UTC

[jira] Commented: (TUSCANY-3769) The combination of impl.widget and binding.jsonrpc deployed in a webapp doesn't work as expected in some cases

    [ https://issues.apache.org/jira/browse/TUSCANY-3769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12930280#action_12930280 ] 

Luciano Resende commented on TUSCANY-3769:
------------------------------------------

1) I'm not sure I completely understand this issue, AFAIK the widget only uses particular reference binding uri.

2) Yes, there are issues here, and we have went around, and around... the workaround is to always register the full binding URI in the case of a WebApp (e.g http://domain:port/context/endpoint)... this will make sure the host-webapp register and find things accordingly. 

> The combination of impl.widget and binding.jsonrpc deployed in a webapp doesn't work as expected in some cases
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-3769
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3769
>             Project: Tuscany
>          Issue Type: Bug
>    Affects Versions: Java-SCA-2.0-Beta1
>         Environment: All
>            Reporter: Simon Laws
>             Fix For: Java-SCA-2.0-Beta2
>
>
> Given a composite....
> 	<component name="ComponentA">
> 		<implementation.java class="ComponentAImpl"/>
>     	       <service name="ComponentAService">
> 			<t:binding.jsonrpc name="catalogJSON"/>
>     	      </service>   
> 	</component>   
> 	
> 	<component name="ComponentAUI">
> 		<t:implementation.widget location="ComponentAUI.html"/>  
> 	        <service name="Widget">
>                     <t:binding.http uri="/MyApp"/>
>                 </service>     
> 		<reference name="compA" target="ComponentA"/>
> 	</component>
> There seem to be a couple of issues. 
> 1/ The widget implementation exposes certain artifacts and it always seems to expose them at the default port regardless of what port the webapp container is using. 
>     e.g. you see URL like "http://localhost:8080/MyApp/tuscany" even with the container set to 8085. The result is that the HTML page can't find the scripts required to create SCA references
> 2/ The root context gets reuse by accident
>    e.g. in this case the widget is registered as something like http://localhost:8080/MyApp/* while the JSONRPC binding based endpoint is registered as something like http://localhost:8080/MyApp/ComponentA/ComponentAService/catalogJSON/*. Given the wildcards a message sent to the JSONRPC endpoint matches the widget endpoint first and the request gets sent to the HTTP binding provider which doesn't know what to do with it. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.