JIRA

  • Log In Access more options
    • Online Help
    • GreenHopper Help
    • Agile Answers
    • Use Agile By Default
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What’s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Agile Access more options (Alt+g)
  • Create Issue
  • Mule
  • MULE-875

Expose xfire services using interfaces, rather than the implementation.

  • Agile Board
  • More Actions
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Patch submission Patch submission
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 1.3
  • Component/s: Modules: CXF
  • Labels:
    None
  • Similar Issues:
    None

Description

Some method (either Auto-Discovering or component-property) of naming a service interface for exposing as the service should be used. This is akin to what the Axis provider does.

  • Options
    • Sort By Name
    • Sort By Date
    • Ascending
    • Descending
    • Download All

Attachments

  1. Text File
    XFireProviderGrabFirstInterfaceHack.patch
    12/Jun/06 02:22 PM
    2 kB
    Eric Schult

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
  • Transitions
  • Commits
  • Source
  • Builds
Hide
Permalink
Eric Schult added a comment - 12/Jun/06 02:22 PM

XFireProviderGrabFirstInterfaceHack.patch is a quick hack to use the first configured interface on the component. In reality, the configuration engineer would probably want to specify which interface is the exposed one, but this does at least demonstrate that the concept works.

Show
Eric Schult added a comment - 12/Jun/06 02:22 PM XFireProviderGrabFirstInterfaceHack.patch is a quick hack to use the first configured interface on the component. In reality, the configuration engineer would probably want to specify which interface is the exposed one, but this does at least demonstrate that the concept works.
Hide
Permalink
Alan Cassar added a comment - 02/Oct/06 04:54 AM

I saw this issue friday and gave it a thought. unfortunately on friday I could not download the patch created by Eric so I had to find my way on how to do this, which luckily I managed.

My idea behind this was to configure the interface used to expose the method by adding a method to the component, like this one:

<mule-descriptor name="HelloWorld" implementation="com.ricston.components.HelloWorld">
<inbound-router>
<endpoint address="xfire:http://localhost:82/services"/>
</inbound-router>
<properties>
<property name="exposedInterface" value="com.ricston.components.IHelloWorld"/>
</properties>
</mule-descriptor>

and eventually, in the XFireMessageReceiver class you create the class to expose occordingly

should i submit this new feature?

Show
Alan Cassar added a comment - 02/Oct/06 04:54 AM I saw this issue friday and gave it a thought. unfortunately on friday I could not download the patch created by Eric so I had to find my way on how to do this, which luckily I managed. My idea behind this was to configure the interface used to expose the method by adding a method to the component, like this one: <mule-descriptor name="HelloWorld" implementation="com.ricston.components.HelloWorld"> <inbound-router> <endpoint address="xfire:http://localhost:82/services"/> </inbound-router> <properties> <property name="exposedInterface" value="com.ricston.components.IHelloWorld"/> </properties> </mule-descriptor> and eventually, in the XFireMessageReceiver class you create the class to expose occordingly should i submit this new feature?
Hide
Permalink
Alan Cassar added a comment - 02/Oct/06 06:30 AM

committed.

Services will need to be configured as follows:
<mule-descriptor name="HelloWorld" implementation="com.ricston.components.HelloWorld">
<inbound-router>
<endpoint address="xfire:http://localhost:82/services"/>
</inbound-router>
<properties>
<list name="serviceInterfaces">
<entry value="com.ricston.components.IHelloWorld3"/>
</list>
</properties>
</mule-descriptor>

Although it is a list of "serviceInterfaces", XFireMessageReceive will only consider the first one in the list. It is implemented as a list to be in exactly the same way as axis is configured.

if there is more than one interface which you need to expose, the work around is simple, create an abstract class inherits from both you interfaces, and as serviceInterfaces add this class.

I will update the wiki soon.

Show
Alan Cassar added a comment - 02/Oct/06 06:30 AM committed. Services will need to be configured as follows: <mule-descriptor name="HelloWorld" implementation="com.ricston.components.HelloWorld"> <inbound-router> <endpoint address="xfire:http://localhost:82/services"/> </inbound-router> <properties> <list name="serviceInterfaces"> <entry value="com.ricston.components.IHelloWorld3"/> </list> </properties> </mule-descriptor> Although it is a list of "serviceInterfaces", XFireMessageReceive will only consider the first one in the list. It is implemented as a list to be in exactly the same way as axis is configured. if there is more than one interface which you need to expose, the work around is simple, create an abstract class inherits from both you interfaces, and as serviceInterfaces add this class. I will update the wiki soon.
Hide
Permalink
Alan Cassar added a comment - 02/Oct/06 08:31 AM

doc updated:
http://mule.mulesource.org/wiki/display/MULE/XFire

under heading: Exposing methods using Interfaces/Abstract Classes...

Show
Alan Cassar added a comment - 02/Oct/06 08:31 AM doc updated: http://mule.mulesource.org/wiki/display/MULE/XFire under heading: Exposing methods using Interfaces/Abstract Classes...

People

  • Assignee:
    Alan Cassar
    Reporter:
    Eric Schult
Vote (0)
Watch (0)

Dates

  • Created:
    12/Jun/06 02:06 PM
    Updated:
    02/Oct/06 08:31 AM
    Resolved:
    02/Oct/06 06:42 AM

Agile

  • View on Board
  • Atlassian JIRA (v5.0.7#734-sha1:8ad78a6)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for MuleForge. Try JIRA - bug tracking software for your team.