Re: ServiceMix 4.0

2007-08-22 Thread Brian O'Neill
Fanastic.  Once we get consensus on the direction (your first few
points), I wonder if we shouldn't break this email out to discuss the
specifics.

On 8/22/07, Nodet Guillaume <[EMAIL PROTECTED]> wrote:
> As I explained in the other thread, I've been working on a new API
> for ServiceMix 4.0.
> Hopefully this will serve as an input for JBI 2.0.
> This API is available at  https://svn.apache.org/repos/asf/incubator/
> servicemix/branches/servicemix-4.0/api
>
> So here a few key changes:
>* clean integration with OSGi
>* the NormalizedMessage can contain not only XML
>* no more components
>* no more JBI packaging (just use OSGi bundles)
>* move the Channel to the Endpoint
>* use push delivery instead of pulling exchanges
>* introduce a single interface for identifying the Target of an
> Exchange

Excellent!  Spot on.

> As we remove components, everything goes down to the endpoint which
> become a key feature.
>
> The endpoint must implement the Endpoint interface.  In OSGi, the NMR
> would listen to endpoints
> registered in the OSGi registry and call the registry to register /
> unregister the endpoints.
> As part of the endpoint registration, the NMR would inject a Channel
> into them, thus actually activating the
> endpoint.  I guess I could write a sequence diagram for that (anybody
> knows a good tool for uml ?).
> In a non OSGI environment, the Endpoint will be registered in the
> Registry by calling the register method
> somehow.

RE: uml tool
Bruce, I've struggled with the same.  I actually run
Parallels/VMWare+Visio, just to keep compatibility with others I have
to interact with.  FLOSS community desperately needs a architecture
tool.

> The Endpoint receives Exchange to be processed on the process method.
> I think we should keep the JBI 1.0 semantics and the endpoint use the
> same process as for JBI 1.0, which is
> send the exchange back using the Channel (with the response / fault /
> error / done).  This will put the threading,
> transactions and security burden on the container itself.  Which
> means it is easier to write JBI apps :-)

+1

> Exchanges can be created using the Channel#createExchange method.
> The only change I'd like to
> integrate in the messaging API is to allow for non xml payloads and
> maybe untyped attachments.  The body
> could be converted automatically to a given type if supported (I
> think Camel does it nicely, so I'm thinking of
> shamelessly copying the converter layer).  I have added a few helper
> methods on the exchanges and
> messages (copy, copyFrom, ensureReReadable, display) to ease message
> management.
>

I haven't looked at Camel converters, but would you consider adding a
contentType and contentEncoding mimicing the headers of HTTP & SIP.
The endpoint can then use the type and encoding to determine how to
handle the content.

> For the deployment part, there is no packaging anymore.  One would
> deploy an OSGi bundle that would
> register the needed endpoints in the OSGi registry.  For certain
> types of endpoints, we may need an external
> activation process (such as creating a server socket for listening to
> HTTP requests) that may need to be shared
> across endpoints of a given type.  In such a case, you would deploy a
> "component" that listens to new
> endpoints implementing HttpEndpoint for example.  When a new endpoint
> is registered, the listener would
> activate a server socket that could be shared across all http
> endpoints.   In a different way, if we have  a BPEL
> engine, the bpel "component"  would listen for new bundles and look
> for a specific file containing deployment
> information. The component would register new endpoints in the OSGi
> registry as needed (we could do that
> for jaxws pojos using cxf for example).
> So I said there is no more components, because this feature is not in
> the api anymore, but we will certainly need
> these components for some use cases.   For simple endpoints, you
> would not need any component at all.
> Another benefit is that you can easily deploy a whole application
> inside a single OSGi bundle.  Using spring-osgi,
> the bundle would just consist in a spring configuration file
> containing the endpoints declaration and expose them
> as OSGi services.

sweet.

> Of course, we need to write a JBI 1.0 compatibility layer, and we
> could have an intermediate layer where SAs and
> JBI components could be OSGi bundles directly, thus leveraging the
> OSGi classloading mechanism.
>
> The thing I'm not completely sure about if the Target interface which
> aims to identify the target of an exchange.
> I'm thinking that some metadata are associated with endpoints (like
> service name, interface name, wsdl
> location, etc..).   These metadatas could be used to retrieve targets
> using the Registry.  We could plug in different
> mechanisms to query the metadata (simple lookup per id, policy based,
> etc...).  And the result itself could be
> not only a single Endpoint, but could 

Re: ServiceMix 4.0

2007-08-22 Thread Kit Plummer
On 8/22/07, Terry Cox <[EMAIL PROTECTED]> wrote:
>
> Interesting.
>
> We need to have a very serious chat about application lifecycles and
> governance...
>
> Terry
>


And Federating...distribution of the NMR across n-platforms!

-- 
Kit Plummer
Nobody-in-Charge @ Black:Hole:Logic
http://www.blackholelogic.com


Re: ServiceMix 4.0

2007-08-22 Thread Bruce Snyder
On 8/22/07, Terry Cox <[EMAIL PROTECTED]> wrote:
> Interesting.
>
> We need to have a very serious chat about application lifecycles and
> governance...

Now is the time.

Bruce
-- 
perl -e 'print unpack("u30","D0G)[EMAIL 
PROTECTED]&5R\"F)R=6-E+G-N>61Ehttp://activemq.org/
Apache ServiceMix - http://servicemix.org/
Apache Geronimo - http://geronimo.apache.org/
Castor - http://castor.org/


Re: ServiceMix 4.0

2007-08-22 Thread Terry Cox

Interesting.

We need to have a very serious chat about application lifecycles and 
governance...


Terry


Re: ServiceMix 4.0

2007-08-22 Thread Nodet Guillaume


On Aug 22, 2007, at 11:43 PM, Bruce Snyder wrote:


On 8/22/07, Nodet Guillaume <[EMAIL PROTECTED]> wrote:

As I explained in the other thread, I've been working on a new API
for ServiceMix 4.0.
Hopefully this will serve as an input for JBI 2.0.
This API is available at  https://svn.apache.org/repos/asf/incubator/
servicemix/branches/servicemix-4.0/api

So here a few key changes:
   * clean integration with OSGi
   * the NormalizedMessage can contain not only XML


Nice!


   * no more components
   * no more JBI packaging (just use OSGi bundles)
   * move the Channel to the Endpoint
   * use push delivery instead of pulling exchanges


This is an interesting change for sure.


   * introduce a single interface for identifying the Target of an
Exchange


How will this work? Can you explain this one a bit more?


Basically, instead of having different ways to express how the  
exchange will be routed by the NMR
(using the endpoint, the service name or the interface name), there  
would be only a single way to express
the destination using a Reference object (not Target, sorry).  These  
objects would represent either a specific
endpoint, or a service by its name or interface name, or more complex  
policies that could be built.
These objects would be looked up in the Registry using a single  
method.  Depending on the metadata passed
to this method, you would retrieve an object that you can use as the  
target.


Btw, for simple use cases, we should avoid needing a service QName +  
endpoint name to uniquely identify
an endpoint.  An unique ID should be sufficient.   Everything else  
should be optional.


Hopefuly you would not have to deal with that the lookup directly and  
you would use spring beans factories
for that, so that you can easily inject References and use them as  
target in your endpoints.





As we remove components, everything goes down to the endpoint which
become a key feature.

The endpoint must implement the Endpoint interface.  In OSGi, the NMR
would listen to endpoints
registered in the OSGi registry and call the registry to register /
unregister the endpoints.
As part of the endpoint registration, the NMR would inject a Channel
into them, thus actually activating the
endpoint.  I guess I could write a sequence diagram for that (anybody
knows a good tool for uml ?).


I've been trying to find some good UML software for a while -
something that doesn't cost an arm and a leg, that generates sequence
diagrams (IMO, these are invaluable!) from code and that runs on MacOS
X. Anyone know of something that meets this criteria?


In a non OSGI environment, the Endpoint will be registered in the
Registry by calling the register method
somehow.


Is there any interoperability between the OSGi registry and a UDDI  
registry?


Not really.  But i'm sure we could add that as an optional feature if  
needed (but does anyone

really need to use a UDDI registry?)
OSGi registry contains services implementing a java interface with  
some associated metadata,
while UDDI contains xml document (and mainly WSDL in our use case).  
They can complement

together, but I'd really want to keep WSDL as completely optional.




The Endpoint receives Exchange to be processed on the process method.
I think we should keep the JBI 1.0 semantics and the endpoint use the
same process as for JBI 1.0, which is
send the exchange back using the Channel (with the response / fault /
error / done).  This will put the threading,
transactions and security burden on the container itself.  Which
means it is easier to write JBI apps :-)


This is exactly the architecture we need - a much cleaner separation.


Exchanges can be created using the Channel#createExchange method.
The only change I'd like to
integrate in the messaging API is to allow for non xml payloads and
maybe untyped attachments.  The body
could be converted automatically to a given type if supported (I
think Camel does it nicely, so I'm thinking of
shamelessly copying the converter layer).  I have added a few helper
methods on the exchanges and
messages (copy, copyFrom, ensureReReadable, display) to ease message
management.


Very nice, sounds similar to Spring convenience classes.


For the deployment part, there is no packaging anymore.  One would
deploy an OSGi bundle that would
register the needed endpoints in the OSGi registry.  For certain
types of endpoints, we may need an external
activation process (such as creating a server socket for listening to
HTTP requests) that may need to be shared
across endpoints of a given type.  In such a case, you would deploy a
"component" that listens to new
endpoints implementing HttpEndpoint for example.  When a new endpoint
is registered, the listener would
activate a server socket that could be shared across all http
endpoints.   In a different way, if we have  a BPEL
engine, the bpel "component"  would listen for new bundles and look
for a specific file containing deployment
information. The component would registe

Re: ServiceMix 4.0

2007-08-22 Thread Bruce Snyder
On 8/22/07, Nodet Guillaume <[EMAIL PROTECTED]> wrote:
> As I explained in the other thread, I've been working on a new API
> for ServiceMix 4.0.
> Hopefully this will serve as an input for JBI 2.0.
> This API is available at  https://svn.apache.org/repos/asf/incubator/
> servicemix/branches/servicemix-4.0/api
>
> So here a few key changes:
>* clean integration with OSGi
>* the NormalizedMessage can contain not only XML

Nice!

>* no more components
>* no more JBI packaging (just use OSGi bundles)
>* move the Channel to the Endpoint
>* use push delivery instead of pulling exchanges

This is an interesting change for sure.

>* introduce a single interface for identifying the Target of an
> Exchange

How will this work? Can you explain this one a bit more?

> As we remove components, everything goes down to the endpoint which
> become a key feature.
>
> The endpoint must implement the Endpoint interface.  In OSGi, the NMR
> would listen to endpoints
> registered in the OSGi registry and call the registry to register /
> unregister the endpoints.
> As part of the endpoint registration, the NMR would inject a Channel
> into them, thus actually activating the
> endpoint.  I guess I could write a sequence diagram for that (anybody
> knows a good tool for uml ?).

I've been trying to find some good UML software for a while -
something that doesn't cost an arm and a leg, that generates sequence
diagrams (IMO, these are invaluable!) from code and that runs on MacOS
X. Anyone know of something that meets this criteria?

> In a non OSGI environment, the Endpoint will be registered in the
> Registry by calling the register method
> somehow.

Is there any interoperability between the OSGi registry and a UDDI registry?

> The Endpoint receives Exchange to be processed on the process method.
> I think we should keep the JBI 1.0 semantics and the endpoint use the
> same process as for JBI 1.0, which is
> send the exchange back using the Channel (with the response / fault /
> error / done).  This will put the threading,
> transactions and security burden on the container itself.  Which
> means it is easier to write JBI apps :-)

This is exactly the architecture we need - a much cleaner separation.

> Exchanges can be created using the Channel#createExchange method.
> The only change I'd like to
> integrate in the messaging API is to allow for non xml payloads and
> maybe untyped attachments.  The body
> could be converted automatically to a given type if supported (I
> think Camel does it nicely, so I'm thinking of
> shamelessly copying the converter layer).  I have added a few helper
> methods on the exchanges and
> messages (copy, copyFrom, ensureReReadable, display) to ease message
> management.

Very nice, sounds similar to Spring convenience classes.

> For the deployment part, there is no packaging anymore.  One would
> deploy an OSGi bundle that would
> register the needed endpoints in the OSGi registry.  For certain
> types of endpoints, we may need an external
> activation process (such as creating a server socket for listening to
> HTTP requests) that may need to be shared
> across endpoints of a given type.  In such a case, you would deploy a
> "component" that listens to new
> endpoints implementing HttpEndpoint for example.  When a new endpoint
> is registered, the listener would
> activate a server socket that could be shared across all http
> endpoints.   In a different way, if we have  a BPEL
> engine, the bpel "component"  would listen for new bundles and look
> for a specific file containing deployment
> information. The component would register new endpoints in the OSGi
> registry as needed (we could do that
> for jaxws pojos using cxf for example).
> So I said there is no more components, because this feature is not in
> the api anymore, but we will certainly need
> these components for some use cases.   For simple endpoints, you
> would not need any component at all.
> Another benefit is that you can easily deploy a whole application
> inside a single OSGi bundle.  Using spring-osgi,
> the bundle would just consist in a spring configuration file
> containing the endpoints declaration and expose them
> as OSGi services.

I'm not sure I understand this completely. Is this a type of
interceptor or am I misunderstanding you?

> Of course, we need to write a JBI 1.0 compatibility layer, and we
> could have an intermediate layer where SAs and
> JBI components could be OSGi bundles directly, thus leveraging the
> OSGi classloading mechanism.

Yep.

> The thing I'm not completely sure about if the Target interface which
> aims to identify the target of an exchange.
> I'm thinking that some metadata are associated with endpoints (like
> service name, interface name, wsdl
> location, etc..).   These metadatas could be used to retrieve targets
> using the Registry.  We could plug in different
> mechanisms to query the metadata (simple lookup per id, policy based,
> etc...).  And the re

Re: Roadmap

2007-08-22 Thread Nodet Guillaume


On Aug 22, 2007, at 11:26 PM, Bruce Snyder wrote:


On 8/22/07, Nodet Guillaume <[EMAIL PROTECTED]> wrote:

I'd like to start a discussion on ServiceMix roadmap.


Yay!


On the short term, hopefully the Apache Board will approve ServiceMix
gradation as a TLP at the end of the month (the board meeting is on
28th of August).   Once done, we should start moving the resources to
their new locations (servicemix.apache.org).  At the same time, we
may want to release a 3.1.2 (removing the incubator disclaimers) and
a 3.2.  I think we can plan on 17/09 for 3.1.2 and 01/10 for 3.2.


I agree that released 3.1.2 as the first release as a TLP is a good
plan. Looks like we've got some work to do to get 3.2 out the door by
October (http://tinyurl.com/2cbduz) and I've got some additional
issues that I need to file and work to do for the archetypes. There
seem to be a handful of smallish bugs there.


On the middle term, I'd like to start working on ServiceMix 4.0.  We
already discussed that a bit and the key points is OSGi.  I have been
experimenting a bit in some branches on svn and I really think OSGi
will provide the needed platform to base ServiceMix 4.0 on.  At the
same time, I have been working on a new API for ServiceMix 4.0 which
is available at  https://svn.apache.org/repos/asf/incubator/
servicemix/branches/servicemix-4.0/api.  This is work in progress and
I'd like feedback on it as much as possible.  I will start a separate
thread about ServiceMix 4.0.


I haven't had the time to look at your OSGi work since back in May
when we were at JavaOne so I'll take a look at this. I'd also like to
make sure that we document the new APIs much better than the existing
stuff. One of the biggest shortcomings currently is Javadoc and
comments to provide others an understanding of the code.


I know.  I really plan on documenting the 4.0 API as much as possible.
But we need to flesh out the ideas first ;-)




On the long term, I'd like ServiceMix to support JBI 2.0 and SCA.
It will obviously depend on when JBI 2.0 spec is released...


In addition, I'd like to create more formal thread pooling support
package for SMX and I think that the 4.0 branch is the best place to
do this work.


What do you have in mind more precisely? In the 4.0 related thread,
I explain that I'd like to get rid of components (at least, they  
would not be
a mandatory part anymore in some cases).  This implies that all the  
thread

pool support will be managed by the container on a per endpoint basis.


But I won't be starting work on this until we have a
good handle on the 3.1.2 and 3.2 releases.

I have also begun work on providing better Javadocs and comments in
the new servicemix-jms consumer and provider endpoints. Once this is
complete I will begin to doc the new servicemix-http consumer and
provider endpoints. This is all a work in progress that I will just
continually check in as I go. I suppose I should file an issue to
track this work as it is committed.

I was also digging around today in the activemq-web-console wondering
about getting it running  in SMX for monitoring destinations.


There is the servicemix-web-console which should do something like that.
We also have some hyperic plugins somewhere in JIRA...


On a
related note, when are we planning on upgrading ActiveMQ? Are we
waiting for SMX 4.0?


Well, as soon as AMQ 5.0 is released we should upgrade.  I'm also  
thinking about
upgrading to geronimo 2.0 and the new transaction manager / connector  
(this would

need a Jencks 2.1 release too).

Guillaume



Bruce
--
perl -e 'print unpack("u30","D0G)[EMAIL PROTECTED]&5R\"F)R=6-E+G-N>61EG;6%I;\"YC;VT*"

);'

Apache ActiveMQ - http://activemq.org/
Apache ServiceMix - http://servicemix.org/
Apache Geronimo - http://geronimo.apache.org/
Castor - http://castor.org/




Re: Servicemix ILog JRules

2007-08-22 Thread Nodet Guillaume
I have never used JRules, so I can't really help on this part.  I  
guess you should try
 to understand how the drools component work (or try the hello world  
se tutorial).

It should be a good basis for building a SE.

Cheers,
Guillaume Nodet

On Aug 22, 2007, at 9:44 PM, Manjunath ShankaraReddy wrote:


I am Using ILog Jrules( Rules Engine) and Servicemix ESB.

I want to integrate ILOG JRules with servicemix. I am planning to  
create
Component in Servicemix similar to Servicemix-Drools that can  
integrate with

Jrules.

Can anyone please suggest how to approach this problem?. Your help is
appreciated.




ServiceMix 4.0

2007-08-22 Thread Nodet Guillaume
As I explained in the other thread, I've been working on a new API  
for ServiceMix 4.0.

Hopefully this will serve as an input for JBI 2.0.
This API is available at  https://svn.apache.org/repos/asf/incubator/ 
servicemix/branches/servicemix-4.0/api


So here a few key changes:
  * clean integration with OSGi
  * the NormalizedMessage can contain not only XML
  * no more components
  * no more JBI packaging (just use OSGi bundles)
  * move the Channel to the Endpoint
  * use push delivery instead of pulling exchanges
  * introduce a single interface for identifying the Target of an  
Exchange


As we remove components, everything goes down to the endpoint which  
become a key feature.


The endpoint must implement the Endpoint interface.  In OSGi, the NMR  
would listen to endpoints
registered in the OSGi registry and call the registry to register /  
unregister the endpoints.
As part of the endpoint registration, the NMR would inject a Channel  
into them, thus actually activating the
endpoint.  I guess I could write a sequence diagram for that (anybody  
knows a good tool for uml ?).
In a non OSGI environment, the Endpoint will be registered in the  
Registry by calling the register method

somehow.

The Endpoint receives Exchange to be processed on the process method.
I think we should keep the JBI 1.0 semantics and the endpoint use the  
same process as for JBI 1.0, which is
send the exchange back using the Channel (with the response / fault /  
error / done).  This will put the threading,
transactions and security burden on the container itself.  Which  
means it is easier to write JBI apps :-)


Exchanges can be created using the Channel#createExchange method.   
The only change I'd like to
integrate in the messaging API is to allow for non xml payloads and  
maybe untyped attachments.  The body
could be converted automatically to a given type if supported (I  
think Camel does it nicely, so I'm thinking of
shamelessly copying the converter layer).  I have added a few helper  
methods on the exchanges and
messages (copy, copyFrom, ensureReReadable, display) to ease message  
management.


For the deployment part, there is no packaging anymore.  One would  
deploy an OSGi bundle that would
register the needed endpoints in the OSGi registry.  For certain  
types of endpoints, we may need an external
activation process (such as creating a server socket for listening to  
HTTP requests) that may need to be shared
across endpoints of a given type.  In such a case, you would deploy a  
"component" that listens to new
endpoints implementing HttpEndpoint for example.  When a new endpoint  
is registered, the listener would
activate a server socket that could be shared across all http  
endpoints.   In a different way, if we have  a BPEL
engine, the bpel "component"  would listen for new bundles and look  
for a specific file containing deployment
information. The component would register new endpoints in the OSGi  
registry as needed (we could do that

for jaxws pojos using cxf for example).
So I said there is no more components, because this feature is not in  
the api anymore, but we will certainly need
these components for some use cases.   For simple endpoints, you  
would not need any component at all.
Another benefit is that you can easily deploy a whole application  
inside a single OSGi bundle.  Using spring-osgi,
the bundle would just consist in a spring configuration file  
containing the endpoints declaration and expose them

as OSGi services.

Of course, we need to write a JBI 1.0 compatibility layer, and we  
could have an intermediate layer where SAs and
JBI components could be OSGi bundles directly, thus leveraging the  
OSGi classloading mechanism.


The thing I'm not completely sure about if the Target interface which  
aims to identify the target of an exchange.
I'm thinking that some metadata are associated with endpoints (like  
service name, interface name, wsdl
location, etc..).   These metadatas could be used to retrieve targets  
using the Registry.  We could plug in different
mechanisms to query the metadata (simple lookup per id, policy based,  
etc...).  And the result itself could be
not only a single Endpoint, but could include some policies like:  
load balance between all the endpoint implementing
the given interface, etc  Also, I think Target should be injected  
on Endpoints using spring, so you would look up a

targe using a spring bean factory (or multiple ones):
   
or
   
The API is quite open right now, so any ideas welcome.

I think i covered the main areas of the API.  The main goal is OSGi  
and leveraging it as much as possible.  There are
still some gray areas: what about the start/stop/shutdown lifecycle  
which may be needed in some cases as I
discovered recently (when you want to gracefully shutdown a jms  
consumer without loosing the ongoing messages
for example).  I also want to give due credits to James, which has  
been working with me on that.
Remember

Roadmap

2007-08-22 Thread Nodet Guillaume

I'd like to start a discussion on ServiceMix roadmap.

On the short term, hopefully the Apache Board will approve ServiceMix  
gradation as a TLP at the end of the month (the board meeting is on  
28th of August).   Once done, we should start moving the resources to  
their new locations (servicemix.apache.org).  At the same time, we  
may want to release a 3.1.2 (removing the incubator disclaimers) and  
a 3.2.  I think we can plan on 17/09 for 3.1.2 and 01/10 for 3.2.


On the middle term, I'd like to start working on ServiceMix 4.0.  We  
already discussed that a bit and the key points is OSGi.  I have been  
experimenting a bit in some branches on svn and I really think OSGi  
will provide the needed platform to base ServiceMix 4.0 on.  At the  
same time, I have been working on a new API for ServiceMix 4.0 which  
is available at  https://svn.apache.org/repos/asf/incubator/ 
servicemix/branches/servicemix-4.0/api.  This is work in progress and  
I'd like feedback on it as much as possible.  I will start a separate  
thread about ServiceMix 4.0.


On the long term, I'd like ServiceMix to support JBI 2.0 and SCA.
It will obviously depend on when JBI 2.0 spec is released...


Ideas, opinions?

Cheers,
Guillaume Nodet


[jira] Commented: (SM-1039) Publication of a consumer HTTP endpoint with classpath-provided WSDL file doesn't publish WSDL file

2007-08-22 Thread Philipp Rossmanith (JIRA)

[ 
https://issues.apache.org/activemq/browse/SM-1039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_39992
 ] 

Philipp Rossmanith commented on SM-1039:


Workaround: Give the publishing endpoint the same service and endpoint name as 
specified for servicemix-http service unit and WSDL file.

> Publication of a consumer HTTP endpoint with classpath-provided WSDL file 
> doesn't publish WSDL file
> ---
>
> Key: SM-1039
> URL: https://issues.apache.org/activemq/browse/SM-1039
> Project: ServiceMix
>  Issue Type: Bug
>  Components: servicemix-http
> Environment: ServiceMix 3.1.1, Windows
>Reporter: Philipp Rossmanith
>Priority: Minor
>
> Trying to publish an HTTP consumer endpoint with a classpath-supplied WSDL 
> connecting to a servicemix.xml-configured publisher, the WSDL file doesn't 
> show at the corresponding URL 
> http://localhost:8192/IMMessageNotificationService/main.wsdl.
> Proposed solution:
> 
> It seems the problem comes from the HttpEndpoint#getTargetPortType method.
> This method tries to find the *target* PortType.  And the problem is that the 
> target PortType (or interface QName) is not the same as the one exposed by 
> servicemix-http. Somehow, they need to be matched.
> Maybe the getTargetPortType should be a series of
>if (portType == null && xxx) {
>   ...
>}
> rather than if / else if.
> See also:
> 
> Thread 
> http://www.nabble.com/servicemix-http---classpath-supplied-WSDL-file-not-visible-tf4286826s12049.html
>  (subject: servicemix-http - classpath-supplied WSDL file not visible)
> Additional information:
> ==
> The setup is:
> HTTP consumer EP --> publisher EP
> Deployment units have been created with Maven. Service and endpoint supplied 
> in the servicemix-http xbean.xml*) match the ones supplied in the WSDL 
> file**), setting the service name to : 
> and setting the endpoint name to the value of the port's name. The WSDL file 
> is present at the top-level in the ZIP-file for the SU.
> *)
> 
> http://servicemix.apache.org/http/1.0";
>   xmlns:mag="http://mag.icing.eu/notification/1.0";
>   
> xmlns:csapi="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/noti
> fication/v2_0/service"
>   xmlns:pub="http://iisys.icing.eu/publisher/1.0";
>   
> xmlns:impl="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/notif
> ication/v2_0/service">
>   
>   .
>   
>  endpoint="IMMessageNotification" role="consumer"
>   
> locationURI="http://0.0.0.0:8192/IMMessageNotificationService/";
>   soap="true"
> wsdlResource="classpath:IMMessageNotification.wsdl"
>   targetService="pub:IMMessagePublisher"
> targetEndpoint="ep" />
> 
> **)
>
> targetNamespace="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/
> notification/v2_0/service" ...>
> ...
>   
>binding="impl:IMMessageNotificationSoapBinding"
>   name="IMMessageNotification">
>location="http://0.0.0.0:8192/IMMessageNotificationService/"; />
>   
>   
> ...
> 

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



[jira] Created: (SM-1039) Publication of a consumer HTTP endpoint with classpath-provided WSDL file doesn't publish WSDL file

2007-08-22 Thread Philipp Rossmanith (JIRA)
Publication of a consumer HTTP endpoint with classpath-provided WSDL file 
doesn't publish WSDL file
---

 Key: SM-1039
 URL: https://issues.apache.org/activemq/browse/SM-1039
 Project: ServiceMix
  Issue Type: Bug
  Components: servicemix-http
 Environment: ServiceMix 3.1.1, Windows
Reporter: Philipp Rossmanith
Priority: Minor


Trying to publish an HTTP consumer endpoint with a classpath-supplied WSDL 
connecting to a servicemix.xml-configured publisher, the WSDL file doesn't show 
at the corresponding URL 
http://localhost:8192/IMMessageNotificationService/main.wsdl.

Proposed solution:

It seems the problem comes from the HttpEndpoint#getTargetPortType method.

This method tries to find the *target* PortType.  And the problem is that the 
target PortType (or interface QName) is not the same as the one exposed by 
servicemix-http. Somehow, they need to be matched.

Maybe the getTargetPortType should be a series of
   if (portType == null && xxx) {
  ...
   }
rather than if / else if.

See also:

Thread 
http://www.nabble.com/servicemix-http---classpath-supplied-WSDL-file-not-visible-tf4286826s12049.html
 (subject: servicemix-http - classpath-supplied WSDL file not visible)

Additional information:
==
The setup is:
HTTP consumer EP --> publisher EP

Deployment units have been created with Maven. Service and endpoint supplied in 
the servicemix-http xbean.xml*) match the ones supplied in the WSDL file**), 
setting the service name to : and setting 
the endpoint name to the value of the port's name. The WSDL file is present at 
the top-level in the ZIP-file for the SU.

*)

http://servicemix.apache.org/http/1.0";
xmlns:mag="http://mag.icing.eu/notification/1.0";

xmlns:csapi="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/noti
fication/v2_0/service"
xmlns:pub="http://iisys.icing.eu/publisher/1.0";

xmlns:impl="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/notif
ication/v2_0/service">

.


http://0.0.0.0:8192/IMMessageNotificationService/";
soap="true"
wsdlResource="classpath:IMMessageNotification.wsdl"
targetService="pub:IMMessagePublisher"
targetEndpoint="ep" />


**)
http://www.csapi.org/wsdl/parlayx/multimedia_messaging/
notification/v2_0/service" ...>
...
  

http://0.0.0.0:8192/IMMessageNotificationService/"; />


...



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



Re: CXF Build Error

2007-08-22 Thread Freeman Fang

Thanks Guillaume.
Best Regards

Freeman





Guillaume Nodet wrote:

I thought they were already included in the build and I have added
them to the distribution some time ago.  As this was causing the
build to break, I have added these two components to the build.

On 8/22/07, Nodet Guillaume <[EMAIL PROTECTED]> wrote:
  

Btw, what about adding them to the build now ?

Cheers,
Guillaume Nodet

On Aug 22, 2007, at 4:25 AM, Freeman Fang wrote:



Hi Gordon,

The cxf-bc and cxf-se is in progress now, so these two modules are
not added in serviceengines and bindingcomponents modules list, so
you cann't download  org.apache.servicemix:servicemix-cxf-se from
website now.
The work around is go into trunk/deployables/serviceengines/
servicemix-cxf-se and run "mvn install" to build
org.apache.servicemix:servicemix-cxf-se yourself.
Btw, you should be able to download it from website very soon.

Best Regards
Freeman

Gordon Dickens wrote:
  

Hello,

I am getting a build error today from the latest code from SVN:

[ERROR] BUILD ERROR
[INFO]
-
---
[INFO] Failed to resolve artifact.

GroupId: org.apache.servicemix
ArtifactId: servicemix-cxf-se
Version: 3.2-incubating-SNAPSHOT

Reason: Unable to download the artifact from any repository

Try downloading the file manually from the project website.

Then, install it using the command:
   mvn install:install-file -DgroupId=org.apache.servicemix -
DartifactId=servicemix-cxf-se \
   -Dversion=3.2-incubating-SNAPSHOT -Dclassifier=installer -
Dpackaging=zip -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the
file there: mvn deploy:deploy-file -DgroupId=org.apache.servic
emix -DartifactId=servicemix-cxf-se \
   -Dversion=3.2-incubating-SNAPSHOT -Dclassifier=installer -
Dpackaging=zip -Dfile=/path/to/file \
-Durl=[url] -DrepositoryId=[id]


 org.apache.servicemix:servicemix-cxf-se:zip:3.2-incubating-SNAPSHOT

from the specified remote repositories:
 central (http://repo1.maven.org/maven2),
 servicemix-m2-repo (http://svn.apache.org/repos/asf/incubator/
servicemix/m2-repo),
 apache.snapshots (http://svn.apache.org/maven-snapshot-repository),
 codehaus (http://repository.codehaus.org),
 apache-incubating (http://people.apache.org/repo/m2-incubating-
repository),
 apache-snapshots (http://people.apache.org/repo/m2-snapshot-
repository)



Any thoughts?

Thanks,
Gordon Dickens






  


Re: CXF Build Error

2007-08-22 Thread Guillaume Nodet
I thought they were already included in the build and I have added
them to the distribution some time ago.  As this was causing the
build to break, I have added these two components to the build.

On 8/22/07, Nodet Guillaume <[EMAIL PROTECTED]> wrote:
> Btw, what about adding them to the build now ?
>
> Cheers,
> Guillaume Nodet
>
> On Aug 22, 2007, at 4:25 AM, Freeman Fang wrote:
>
> > Hi Gordon,
> >
> > The cxf-bc and cxf-se is in progress now, so these two modules are
> > not added in serviceengines and bindingcomponents modules list, so
> > you cann't download  org.apache.servicemix:servicemix-cxf-se from
> > website now.
> > The work around is go into trunk/deployables/serviceengines/
> > servicemix-cxf-se and run "mvn install" to build
> > org.apache.servicemix:servicemix-cxf-se yourself.
> > Btw, you should be able to download it from website very soon.
> >
> > Best Regards
> > Freeman
> >
> > Gordon Dickens wrote:
> >> Hello,
> >>
> >> I am getting a build error today from the latest code from SVN:
> >>
> >> [ERROR] BUILD ERROR
> >> [INFO]
> >> -
> >> ---
> >> [INFO] Failed to resolve artifact.
> >>
> >> GroupId: org.apache.servicemix
> >> ArtifactId: servicemix-cxf-se
> >> Version: 3.2-incubating-SNAPSHOT
> >>
> >> Reason: Unable to download the artifact from any repository
> >>
> >> Try downloading the file manually from the project website.
> >>
> >> Then, install it using the command:
> >>mvn install:install-file -DgroupId=org.apache.servicemix -
> >> DartifactId=servicemix-cxf-se \
> >>-Dversion=3.2-incubating-SNAPSHOT -Dclassifier=installer -
> >> Dpackaging=zip -Dfile=/path/to/file
> >> Alternatively, if you host your own repository you can deploy the
> >> file there: mvn deploy:deploy-file -DgroupId=org.apache.servic
> >> emix -DartifactId=servicemix-cxf-se \
> >>-Dversion=3.2-incubating-SNAPSHOT -Dclassifier=installer -
> >> Dpackaging=zip -Dfile=/path/to/file \
> >> -Durl=[url] -DrepositoryId=[id]
> >>
> >>
> >>  org.apache.servicemix:servicemix-cxf-se:zip:3.2-incubating-SNAPSHOT
> >>
> >> from the specified remote repositories:
> >>  central (http://repo1.maven.org/maven2),
> >>  servicemix-m2-repo (http://svn.apache.org/repos/asf/incubator/
> >> servicemix/m2-repo),
> >>  apache.snapshots (http://svn.apache.org/maven-snapshot-repository),
> >>  codehaus (http://repository.codehaus.org),
> >>  apache-incubating (http://people.apache.org/repo/m2-incubating-
> >> repository),
> >>  apache-snapshots (http://people.apache.org/repo/m2-snapshot-
> >> repository)
> >>
> >>
> >>
> >> Any thoughts?
> >>
> >> Thanks,
> >> Gordon Dickens
> >>
>
>


-- 
Cheers,
Guillaume Nodet

Blog: http://gnodet.blogspot.com/


[jira] Created: (SM-1038) http provider endpoint sends wrong Host header

2007-08-22 Thread Torsten Mielke (JIRA)
http provider endpoint sends wrong Host header
--

 Key: SM-1038
 URL: https://issues.apache.org/activemq/browse/SM-1038
 Project: ServiceMix
  Issue Type: Bug
  Components: servicemix-http
Affects Versions: 3.1.1
 Environment: JDK 5.0
Reporter: Torsten Mielke
 Attachments: http-marshaler.patch

The current ServiceMix http:provider endpoint uses jetty-client-6.1.5 library, 
which contains a bug fixed in their trunk. More infomation on 
http://fisheye.codehaus.org/browse/jetty-contrib/jetty/trunk/contrib/client/src/main/java/org/mortbay/jetty/client/HttpConnection.java?r1=374&r2=378.
This causes wrong Host header in HTTP request.

Actual Host header looks like this:
Host: [EMAIL PROTECTED]//host.com:8080(1,0,0)

Of course such header causes HTTP 400 response and endpoint cannot be used at 
all.

To work around this bug 
deployables/bindingcomponents/servicemix-http/src/main/java/org/apache/servicemix/http/endpoints/DefaultHttpProviderMarshaler.java
 needs to get the attached patch applied.

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



Re: CXF Build Error

2007-08-22 Thread Nodet Guillaume

Btw, what about adding them to the build now ?

Cheers,
Guillaume Nodet

On Aug 22, 2007, at 4:25 AM, Freeman Fang wrote:


Hi Gordon,

The cxf-bc and cxf-se is in progress now, so these two modules are  
not added in serviceengines and bindingcomponents modules list, so  
you cann't download  org.apache.servicemix:servicemix-cxf-se from  
website now.
The work around is go into trunk/deployables/serviceengines/ 
servicemix-cxf-se and run "mvn install" to build  
org.apache.servicemix:servicemix-cxf-se yourself.

Btw, you should be able to download it from website very soon.

Best Regards
Freeman

Gordon Dickens wrote:

Hello,

I am getting a build error today from the latest code from SVN:

[ERROR] BUILD ERROR
[INFO]  
- 
---

[INFO] Failed to resolve artifact.

GroupId: org.apache.servicemix
ArtifactId: servicemix-cxf-se
Version: 3.2-incubating-SNAPSHOT

Reason: Unable to download the artifact from any repository

Try downloading the file manually from the project website.

Then, install it using the command:
   mvn install:install-file -DgroupId=org.apache.servicemix - 
DartifactId=servicemix-cxf-se \
   -Dversion=3.2-incubating-SNAPSHOT -Dclassifier=installer - 
Dpackaging=zip -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the  
file there: mvn deploy:deploy-file -DgroupId=org.apache.servic

emix -DartifactId=servicemix-cxf-se \
   -Dversion=3.2-incubating-SNAPSHOT -Dclassifier=installer - 
Dpackaging=zip -Dfile=/path/to/file \

-Durl=[url] -DrepositoryId=[id]


 org.apache.servicemix:servicemix-cxf-se:zip:3.2-incubating-SNAPSHOT

from the specified remote repositories:
 central (http://repo1.maven.org/maven2),
 servicemix-m2-repo (http://svn.apache.org/repos/asf/incubator/ 
servicemix/m2-repo),

 apache.snapshots (http://svn.apache.org/maven-snapshot-repository),
 codehaus (http://repository.codehaus.org),
 apache-incubating (http://people.apache.org/repo/m2-incubating- 
repository),
 apache-snapshots (http://people.apache.org/repo/m2-snapshot- 
repository)




Any thoughts?

Thanks,
Gordon Dickens