Re: Capturing Jms headers data

2009-09-11 Thread liucong

Hi Eamonn,

Eamonn Dwyer wrote:

Hi Liu
thanks for that. So can you tell what I would be able to use to capture the JMS headers 
when the server is replying to the client if I shouldn't use 
org.apache.cxf.jms.server.reply.headers?

Actually when is org.apache.cxf.jms.server.reply.headers used?

  
Sorry, I think there is not a way to capture the JMS headers when the 
server is replying to the client. The only way is that the client get 
the replying message's headers.


org.apache.cxf.jms.server.reply.headers is used in the implementation.


Also is my assumption for the client side : then on the client side use 
org.apache.cxf.jms.client.repsonse.headers and 
org.apache.cxf.jms.client.reply.headers correct?

  
In the client,   org.apache.cxf.jms.client.request.headers and 
org.apache.cxf.jms.client.repsonse.headers are used.
After the client has sent the JMS message, you can check the 
org.apache.cxf.jms.client.request.headers to get the JMS headers.
You can use an interceptor to check the 
org.apache.cxf.jms.client.repsonse.headers to get the reply JMS 
message headers.
Thanks for the help 
Eamonn


  

Date: Fri, 11 Sep 2009 09:13:32 +0800
From: liucon...@gmail.com
To: dev@cxf.apache.org
Subject: Re: Capturing Jms headers data

Hi,


Eamonn Dwyer wrote:

Hi 
I would like to write an interceptor to capture all the JMS header data.  Would the following work?


for an inbound interceptor at the server side 
...

String buffer = new StringBuffer();
JMSMessageHeadersType jmsMessageHeadersType = 
(JMSMessageHeadersType)message.get(org.apache.cxf.jms.server.request.headers);

buffer.append(JMSCorrelationID + = + jmsMessageHeadersType.getJMSCorrelationID()+ 
 );
buffer.append(JMSMessageID + = + jmsMessageHeadersType.getJMSMessageID()+  
);
and so on for all the attributes in JMSMessageHeadersType.

  
  
It is OK for the inbound interceptor. The JMS transport first get the 
values of JMS header data and store them in the 


org.apache.cxf.jms.server.request.headers. So the interceptor can get these 
data.


For the outbound interceptor at the server side the type would be got from 
JMSMessageHeadersType jmsMessageHeadersType = 



(JMSMessageHeadersType)message.get(org.apache.cxf.jms.server.reply.headers);

  
  
It is not right for the outbound interceptor. Because when the 
interceptor uses the value of org.apache.cxf.jms.server.reply.headers 
before the implementation generates it.


and then on the client side use org.apache.cxf.jms.client.repsonse.headers and 
org.apache.cxf.jms.client.reply.headers


Thanks for any help/suggestions,

Eamonn

_
Get 30 Free Emoticons for your Windows Live Messenger
http://www.livemessenger-emoticons.com/funfamily/en-ie/
  
  


_
With Windows Live, you can organize, edit, and share your photos.
http://www.microsoft.com/ireland/windows/windowslive/products/photo-gallery-edit.aspx
  




Re: Capturing Jms headers data

2009-09-10 Thread liucong

Hi,


Eamonn Dwyer wrote:
Hi 
I would like to write an interceptor to capture all the JMS header data.  Would the following work?


for an inbound interceptor at the server side 
...

String buffer = new StringBuffer();
JMSMessageHeadersType jmsMessageHeadersType = 
(JMSMessageHeadersType)message.get(org.apache.cxf.jms.server.request.headers);

buffer.append(JMSCorrelationID + = + jmsMessageHeadersType.getJMSCorrelationID()+ 
 );
buffer.append(JMSMessageID + = + jmsMessageHeadersType.getJMSMessageID()+  
);
and so on for all the attributes in JMSMessageHeadersType.

  
It is OK for the inbound interceptor. The JMS transport first get the 
values of JMS header data and store them in the 


org.apache.cxf.jms.server.request.headers. So the interceptor can get these 
data.

For the outbound interceptor at the server side the type would be got from 
JMSMessageHeadersType jmsMessageHeadersType = 



(JMSMessageHeadersType)message.get(org.apache.cxf.jms.server.reply.headers);

  
It is not right for the outbound interceptor. Because when the 
interceptor uses the value of org.apache.cxf.jms.server.reply.headers 
before the implementation generates it.

and then on the client side use org.apache.cxf.jms.client.repsonse.headers and 
org.apache.cxf.jms.client.reply.headers


Thanks for any help/suggestions,

Eamonn

_
Get 30 Free Emoticons for your Windows Live Messenger
http://www.livemessenger-emoticons.com/funfamily/en-ie/
  




Re: test suite patch.

2009-07-26 Thread liucong
Hi,
The list of changes is as follows:
(1) Some SOAPFault processing int cxf-rt-bindings-soap subproject.
(2) To generate the CorrelationID in the client of jms transport
according to the following rules. And I change the systest for the
correlationid according to this.

userCID - userCID
userCID + conduitSelectorPrefix - userCID
userCID + conduitSelectorPrefix + useConduitIdSelector(true) -
userCID
userCID + conduitSelectorPrefix + useConduitIdSelector(false) -
userCID
conduitSelectorPrefix + useConduitIdSelector(true) -
conduitSelectorPrefix + conduitId + index
conduitSelectorPrefix + useConduitIdSelector(false) -
conduitSelectorPrefix + index

useConduitIdSelector(true) - conduitId + index
useConduitIdSelector(false) - the request message's messageID

-'s left side is the condition.
-'s right side is rule for generation of CorrelationID.
userCID means that the client gives a CorrelationID.
conduitSelectorPrefix means that the client configures in the wsdl.
useConduitIdSelector means that the client configures in the wsdl.
conduitId means that the string generated by the jms-tranport's 
JMSConduit.
index is a autoincreasing number which indicates the uniqueness of the
CorrelationID.

(3) The JMSListener of the response message.
(4) Some small changes about JMSMessage's properties which is not right
for specification.
(5) Add test suite
tests(http://dev.w3.org/2008/ws/soapjms/testcases/)(0001-1001). And
build the framework for test suite tests.

About the JMS low API to check the message:
(1) I have use SOAPJMSTestSuiteClientTest and SOAPJMSTestSuiteServerTest
to use JMS low API, and it does work. But it is a little complicated.
(2) I can get all the information for the JMSMessageHeadersType of the
Message. So it is ok for tests.
(3) If I use JMS low API, it is also ok. Use (1) to build all of the tests.

About JMSConduit unit test:
I commented it, because I can't get the response message because the
server's JMS Listener doesn't build. I think the test is not usefull.


best regards

JIRA (https://issues.apache.org/jira/browse/CXF-2253)

Willem Jiang wrote:
 Woo, it's a big patch. You did a amazing job over a night :)

 I noticed you commented some JMSConduit unit test. Can you give me a
 list of changes?
 It will help you to double check the back compatibility of the old JMS
 configuration.

 I found you didn't use the JMS low API to check the message, can you
 tell me the reason why you don't do that?

 Since it's big patch, can you write a brief description to highlight the
 changes that you made ?

 Finally, you can submit the patch to CXF JIRA with the description of
 patch and let other people to have a look at this :)

 Cheers,

 Willem

 liucong wrote:
   
 Hi

 I have created a test suite patch for jms-transport.
 And I have modified some bugs in the code.



 


   



Re: How to generate the CorrelationID in the client in jms transport?

2009-07-26 Thread liucong
Hi

Willem Jiang wrote:
 Hi,

 You can choice what you want to generate the correlationID, and you
 just need to make sure the CorrelationID is unique.

 In you proposal, you give the user a choice to set the correlationID
 from the JMSMessageHeader which he set, it's OK for me.
 For the useConduitIdSelector, it's just for the client side to choice if
 it uses the MessageID pattern or CorrelationID pattern.

   
useConduitIdSelector is just one of the three
condition(userCID==null,conduitSelectorPrefix==null,
useConduitIdSelector == false) for using MessageID pattern.
 There is not a clear definition on the server side, such as if server
 side is set to use MessageID pattern , it will ignore the
 CorrelationID which is already set on the request JMS message header to
 generation the response message CorrelationID.
 So I think we need add this server side definition as while.

   

I think the messageId or Correlation ID pattern is determined by the
client. On the server side, if the JMSMessage's CorrelationID is not
null, we use CorrelationID pattern, if not, we use MessageID pattern.
The current implement uses this rule.
 BTW,  we need to add some documents for use about it CorrelationID
 generation rule on the wiki to make sure every body
 knows what is going on there :)

 Any other thoughts?

 Willem

 liucong wrote:
   
 Hi,

 I'm very confused with the CorrelationID which is generated by the
 jms-transport.

 The configuration piece as follows:
 service name=HelloWorldServiceRuntimeCorrelationIDStaticPrefix
 port binding=tns:HelloWorldPortBinding
 name=HelloWorldPortRuntimeCorrelationIDStaticPrefixEng
 jms:clientConfig conduitSelectorPrefix=com.mycompany.eng:
 useConduitIdSelector=true/
 jms:server messageSelector=JMSCorrelationID LIKE 'com.mycompany.eng:%'/
 jms:address
 ...
 /jms:address
 /port
 /service

 I think the rules generating the CorrelationID should be as follows:

 userCID - userCID
 userCID + conduitSelectorPrefix - userCID
 userCID + conduitSelectorPrefix + useConduitIdSelector(true) - userCID
 userCID + conduitSelectorPrefix + useConduitIdSelector(false) - userCID

 conduitSelectorPrefix + useConduitIdSelector(true) -
 conduitSelectorPrefix + conduitId + index
 conduitSelectorPrefix + useConduitIdSelector(false) -
 conduitSelectorPrefix + index

 useConduitIdSelector(true) - conduitId + index
 useConduitIdSelector(false) - the request message's messageID

 -'s left side is the condition.
 -'s right side is rule for generation of CorrelationID.
 userCID means that the client gives a CorrelationID.
 conduitSelectorPrefix means that the client configures in the wsdl.
 useConduitIdSelector means that the client configures in the wsdl.
 conduitId means that the string generated by the jms-tranport's JMSConduit.
 index is a autoincreasing number which indicates the uniqueness of the
 CorrelationID.


 Is it right?
 I want to use this rules for the generation of CorrelationID.

 best regards

 


   



How to generate the CorrelationID in the client in jms transport?

2009-07-24 Thread liucong
Hi,

I'm very confused with the CorrelationID which is generated by the
jms-transport.

The configuration piece as follows:
service name=HelloWorldServiceRuntimeCorrelationIDStaticPrefix
port binding=tns:HelloWorldPortBinding
name=HelloWorldPortRuntimeCorrelationIDStaticPrefixEng
jms:clientConfig conduitSelectorPrefix=com.mycompany.eng:
useConduitIdSelector=true/
jms:server messageSelector=JMSCorrelationID LIKE 'com.mycompany.eng:%'/
jms:address
...
/jms:address
/port
/service

I think the rules generating the CorrelationID should be as follows:

userCID - userCID
userCID + conduitSelectorPrefix - userCID
userCID + conduitSelectorPrefix + useConduitIdSelector(true) - userCID
userCID + conduitSelectorPrefix + useConduitIdSelector(false) - userCID

conduitSelectorPrefix + useConduitIdSelector(true) -
conduitSelectorPrefix + conduitId + index
conduitSelectorPrefix + useConduitIdSelector(false) -
conduitSelectorPrefix + index

useConduitIdSelector(true) - conduitId + index
useConduitIdSelector(false) - the request message's messageID

-'s left side is the condition.
-'s right side is rule for generation of CorrelationID.
userCID means that the client gives a CorrelationID.
conduitSelectorPrefix means that the client configures in the wsdl.
useConduitIdSelector means that the client configures in the wsdl.
conduitId means that the string generated by the jms-tranport's JMSConduit.
index is a autoincreasing number which indicates the uniqueness of the
CorrelationID.


Is it right?
I want to use this rules for the generation of CorrelationID.

best regards


request-response patterns.

2009-07-23 Thread liucong
Hi,

Some information about JMS Correlation ID patten and Message ID pattern
on request-response patterns
(http://edocs.bea.com/alsb/docs25/interopjms/MsgIDPatternforJMS.html).

By digging into the code about jms-transport, I know the current
jms-transport uses the Correlation ID Pattern. But the SOAP/JMS
specification uses Message ID Pattern.

What should I do?
1. To keep Correlation ID Pattern. But it is not compatible with the
specification.
2. To use Message ID Pattern. I see some code which use spring-jms, I
can't get the id of the message which is sent by spring-jms. I don't
know how to get the message id which is used to correlated the response
message.

Thank you for your sugguest in advance.

liu


Re: request-response patterns.

2009-07-23 Thread liucong
Hi,

Should I change to use Message ID Pattern and make it compatible with
the specification?


liucong wrote:
 Hi,

 Some information about JMS Correlation ID patten and Message ID pattern
 on request-response patterns
 (http://edocs.bea.com/alsb/docs25/interopjms/MsgIDPatternforJMS.html).

 By digging into the code about jms-transport, I know the current
 jms-transport uses the Correlation ID Pattern. But the SOAP/JMS
 specification uses Message ID Pattern.

 What should I do?
 1. To keep Correlation ID Pattern. But it is not compatible with the
 specification.
 2. To use Message ID Pattern. I see some code which use spring-jms, I
 can't get the id of the message which is sent by spring-jms. I don't
 know how to get the message id which is used to correlated the response
 message.

 Thank you for your sugguest in advance.

 liu

   



Re: An Exception occurs when use wsdl extension in the port

2009-07-06 Thread liucong
Thank you, Dan.

I just found the problem as you said.
I can make the JMSTransportFactory implement WSDLEndpointFactory
interface. And then the SOAPAddress can be used to create
createEndpointInfo. Then the problem will be solved. I'm trying to do this.

liu

Daniel Kulp wrote:
 A test case (attached to a JIRA) would be good if you cannot figure this out.

 However, here is a pointer:
 When CXF looks in the WSDL to determine the transport factory, it looks at 
 the 
 FIRST extensor on the port that has a namespace that matches a transport 
 factory.  In your first example, it would be soap and thus would match the 
 soap transport.

 In the second, it would be soapjms and thus probably matches the JMS 
 transport and not the soap transport.   The jms transport probably doesn't 
 look for soap:address.

 Not sure on the best course of action to solve this.   :-( Possibly the 
 soap binding could reset the address on the transport or something.   Would 
 be 
 good to check if this is the case before diving in too deep.  

 Dan





 On Sat July 4 2009 7:51:40 am liucong wrote:
   
 Hi all,
 When I implement the WSDL usage for SOAP/JMS, I encountered an exception.
 I create an service and invoke it using wsdl-first.

 If the wsdl file looks like this[1] :
 wsdl:definitions
 wsdl:service name=JMSGreeterService
 wsdl:port binding=tns:JMSGreeterPortBinding name=GreeterPort
 soap:address
 location=jms:jndi:dynamicQueues/test.cxf.jmstransport.queue?jndiInitialCon
 textFactory=org.apache.activemq.jndi.ActiveMQInitialContextFactoryamp;jndiC
 onnectionFactoryName=ConnectionFactoryamp;jndiURL=tcp://localhost:61616amp
 ;targetService=greeterService /
 soapjms:timeToLive1000/soapjms:timeToLive
 /wsdl:port
 /wsdl:service
 /wsdl:definitions

 This service works well.

 But if the wsdl file looks like this[2] :
 wsdl:definitions
 wsdl:service name=JMSGreeterService
 wsdl:port binding=tns:JMSGreeterPortBinding name=GreeterPort
 soapjms:timeToLive1000/soapjms:timeToLive
 soap:address
 location=jms:jndi:dynamicQueues/test.cxf.jmstransport.queue?jndiInitialCon
 textFactory=org.apache.activemq.jndi.ActiveMQInitialContextFactoryamp;jndiC
 onnectionFactoryName=ConnectionFactoryamp;jndiURL=tcp://localhost:61616amp
 ;targetService=greeterService /
 /wsdl:port
 /wsdl:service
 /wsdl:definitions

 The service is created correctly, but there is an error happen when I
 invoke this service.
 By debugging, I find that JMSTransportFactory.getConduit(EndpointInfo
 endpointInfo, EndpointReferenceType target)'s target parameter is null.
 It should be
 jms:jndi:dynamicQueues/test.cxf.jmstransport.queue?jndiInitialContextFacto
 ry=org.apache.activemq.jndi.ActiveMQInitialContextFactoryamp;jndiConnection
 FactoryName=ConnectionFactoryamp;jndiURL=tcp://localhost:61616amp;targetSe
 rvice=greeterService.

 I think there are someting wrong with port parsing in wsdl.
 Any ideas?

 best regards
 liu
 

   



Re: An Exception occurs when use wsdl extension in the port

2009-07-06 Thread liucong
Hi Dan,

Thank you for your good advice. I think keeping the soap stuff in the
soap binding is a very good idea.
https://issues.apache.org/jira/browse/CXF-2264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12727756#action_12727756
https://issues.apache.org/jira/browse/CXF-2264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12727756#action_12727756

liu

Daniel Kulp wrote:
 A test case (attached to a JIRA) would be good if you cannot figure this out.

 However, here is a pointer:
 When CXF looks in the WSDL to determine the transport factory, it looks at 
 the 
 FIRST extensor on the port that has a namespace that matches a transport 
 factory.  In your first example, it would be soap and thus would match the 
 soap transport.

 In the second, it would be soapjms and thus probably matches the JMS 
 transport and not the soap transport.   The jms transport probably doesn't 
 look for soap:address.

 Not sure on the best course of action to solve this.   :-( Possibly the 
 soap binding could reset the address on the transport or something.   Would 
 be 
 good to check if this is the case before diving in too deep.  

 Dan





 On Sat July 4 2009 7:51:40 am liucong wrote:
   
 Hi all,
 When I implement the WSDL usage for SOAP/JMS, I encountered an exception.
 I create an service and invoke it using wsdl-first.

 If the wsdl file looks like this[1] :
 wsdl:definitions
 wsdl:service name=JMSGreeterService
 wsdl:port binding=tns:JMSGreeterPortBinding name=GreeterPort
 soap:address
 location=jms:jndi:dynamicQueues/test.cxf.jmstransport.queue?jndiInitialCon
 textFactory=org.apache.activemq.jndi.ActiveMQInitialContextFactoryamp;jndiC
 onnectionFactoryName=ConnectionFactoryamp;jndiURL=tcp://localhost:61616amp
 ;targetService=greeterService /
 soapjms:timeToLive1000/soapjms:timeToLive
 /wsdl:port
 /wsdl:service
 /wsdl:definitions

 This service works well.

 But if the wsdl file looks like this[2] :
 wsdl:definitions
 wsdl:service name=JMSGreeterService
 wsdl:port binding=tns:JMSGreeterPortBinding name=GreeterPort
 soapjms:timeToLive1000/soapjms:timeToLive
 soap:address
 location=jms:jndi:dynamicQueues/test.cxf.jmstransport.queue?jndiInitialCon
 textFactory=org.apache.activemq.jndi.ActiveMQInitialContextFactoryamp;jndiC
 onnectionFactoryName=ConnectionFactoryamp;jndiURL=tcp://localhost:61616amp
 ;targetService=greeterService /
 /wsdl:port
 /wsdl:service
 /wsdl:definitions

 The service is created correctly, but there is an error happen when I
 invoke this service.
 By debugging, I find that JMSTransportFactory.getConduit(EndpointInfo
 endpointInfo, EndpointReferenceType target)'s target parameter is null.
 It should be
 jms:jndi:dynamicQueues/test.cxf.jmstransport.queue?jndiInitialContextFacto
 ry=org.apache.activemq.jndi.ActiveMQInitialContextFactoryamp;jndiConnection
 FactoryName=ConnectionFactoryamp;jndiURL=tcp://localhost:61616amp;targetSe
 rvice=greeterService.

 I think there are someting wrong with port parsing in wsdl.
 Any ideas?

 best regards
 liu
 

   



An Exception occurs when use wsdl extension in the port

2009-07-04 Thread liucong
Hi all,
When I implement the WSDL usage for SOAP/JMS, I encountered an exception.
I create an service and invoke it using wsdl-first.

If the wsdl file looks like this[1] :
wsdl:definitions
wsdl:service name=JMSGreeterService
wsdl:port binding=tns:JMSGreeterPortBinding name=GreeterPort
soap:address
location=jms:jndi:dynamicQueues/test.cxf.jmstransport.queue?jndiInitialContextFactory=org.apache.activemq.jndi.ActiveMQInitialContextFactoryamp;jndiConnectionFactoryName=ConnectionFactoryamp;jndiURL=tcp://localhost:61616amp;targetService=greeterService
/
soapjms:timeToLive1000/soapjms:timeToLive
/wsdl:port
/wsdl:service
/wsdl:definitions

This service works well.

But if the wsdl file looks like this[2] :
wsdl:definitions
wsdl:service name=JMSGreeterService
wsdl:port binding=tns:JMSGreeterPortBinding name=GreeterPort
soapjms:timeToLive1000/soapjms:timeToLive
soap:address
location=jms:jndi:dynamicQueues/test.cxf.jmstransport.queue?jndiInitialContextFactory=org.apache.activemq.jndi.ActiveMQInitialContextFactoryamp;jndiConnectionFactoryName=ConnectionFactoryamp;jndiURL=tcp://localhost:61616amp;targetService=greeterService
/
/wsdl:port
/wsdl:service
/wsdl:definitions

The service is created correctly, but there is an error happen when I
invoke this service.
By debugging, I find that JMSTransportFactory.getConduit(EndpointInfo
endpointInfo, EndpointReferenceType target)'s target parameter is null.
It should be
jms:jndi:dynamicQueues/test.cxf.jmstransport.queue?jndiInitialContextFactory=org.apache.activemq.jndi.ActiveMQInitialContextFactoryamp;jndiConnectionFactoryName=ConnectionFactoryamp;jndiURL=tcp://localhost:61616amp;targetService=greeterService.

I think there are someting wrong with port parsing in wsdl.
Any ideas?

best regards
liu


Re: How to add wsdl extension for SOAP/JMS.

2009-07-03 Thread liucong

Hi,
   I am writing a plugin for xjc.
   First I just modify the cxf-xjc-ts and cxf-xjc-ts-test, and make it 
work with the -Xwsdlextension, not -Xts. The pom file is also changed. 
And it works rightly.
   Then I copy the modified projects into cxf-xjc-wsdlextension and 
cxf-xjc-wsdlextension-test, and make the cxf-xjc-ts the same with the 
subversion.

   It failed. The exception is:
   [INFO] 


[INFO] Building Apache CXF XJC WSDL Extension Plugin Tests
[INFO]task-segment: [install]
[INFO] 


[INFO] [cxf-xml2fastinfoset:xml2fastinfoset {execution: xml2fastinfoset}]
[INFO] [jaxb2:xjc {execution: default}]
[INFO] Generating source...
[INFO] 


[ERROR] BUILD ERROR
[INFO] 


[INFO] unrecognized parameter -Xwsdlextension

   What's wrong? Do I need to do more configuration for ths xjc plugin?

thanks!

Daniel Kulp wrote:

Liu,

I think for stuff that are simple (basically, complexTypes with 
simpleContent and simpleType object), you cannot extend 
TExtensibilityElementImpl.   Instead, you would need to make it implement 
ExtensibilityElement interface and add the QName and required fields and such.   


Dan


On Wed July 1 2009 12:18:15 pm liucong wrote:
  

Hi,

I do a simple experiment about the design sugguest by Dan.
First, I use jaxb, not xjc. I think they have the principle.

The schema like this[1]:
xs:element name=deliveryMode type=soapjms:deliveryModeType /
xs:complexType name=deliveryModeType
xs:simpleContent
xs:extension base=xs:string
/xs:extension
/xs:simpleContent
/xs:complexType

The generated class for DeliveryModeType like this[2]:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = deliveryModeType, propOrder = {
value
})
public class DeliveryModeType{

@XmlValue
protected String value;

/**
 * Gets the value of the value property.
 *
 * @return
 * possible object is
 * {...@link String }
 *
 */
public String getValue() {
return value;
}

/**
 * Sets the value of the value property.
 *
 * @param value
 * allowed object is
 * {...@link String }
 *
 */
public void setValue(String value) {
this.value = value;
}

public boolean isSetValue() {
return (this.value!= null);
}
}

The DeliveryModeType doesn't extend TExtensibilityElementImpl. So I just
modify the class and make it look like this[3]:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = deliveryModeType, propOrder = {
value
})
public class DeliveryModeType extends TExtensibilityElementImpl{

@XmlValue
protected String value;

/**
 * Gets the value of the value property.
 *
 * @return
 * possible object is
 * {...@link String }
 *
 */
public String getValue() {
return value;
}

/**
 * Sets the value of the value property.
 *
 * @param value
 * allowed object is
 * {...@link String }
 *
 */
public void setValue(String value) {
this.value = value;
}

public boolean isSetValue() {
return (this.value!= null);
}
}

Then when I publish a service, I get an exception[4]
Creating Service {http://cxf.apache.org/jms_greeter}JMSGreeterService
from WSDL: file:./wsdl/jms_greeter.wsdl
Exception in thread main javax.xml.ws.WebServiceException:
org.apache.cxf.service.factory.ServiceConstructionException: Failed to
create service.
at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:275)
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:209)
at
org.apache.cxf.jaxws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl
.java:84) at javax.xml.ws.Endpoint.publish(Endpoint.java:47)
at demo.jms_greeter.server.Server.init(Server.java:30)
at demo.jms_greeter.server.Server.main(Server.java:34)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
Failed to create service.
at
org.apache.cxf.wsdl11.WSDLServiceFactory.init(WSDLServiceFactory.java:93)
at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFro
mWSDL(ReflectionServiceFactoryBean.java:317) at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServi
ceModel(ReflectionServiceFactoryBean.java:437) at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(Reflecti
onServiceFactoryBean.java:195) at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFac
toryBean.java:163) at
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(Abs
tractWSDLBasedEndpointFactory.java:100

Re: How to add wsdl extension for SOAP/JMS.

2009-06-24 Thread liucong

Hi, Dan,
  
   Thank you very much for your advice.  By some experiments for the 
WSDL extension. I think it is right that this WSDL extension needs some 
changes to CXF wsdl processing. And the CXF wsdl processing will supoort 
the entension in SOAP/JMS.  I think this kind of extension is necessary 
for CXF wsdl processing.
   Are there any documents which help me finish this kind of 
extension?  thank you! :-)


Liu


Daniel Kulp wrote:
Hmm...   I'm not really sure.   I don't think there IS a schema that would 
work properly for this.   My gut feeling was something like:



xs:complexType name=deliveryModeType
xs:simpleContent
xs:restriction base=wsdl:tExtensibilityElement
   xs:enumeration value=PERSISTENT /
   xs:enumeration value=NON_PERSISTENT /
   /xs:restriction
/xs:simpleContent
/xs:complexType

but I know that doesn't work. 

This will probably need some changes to CXF wsdl processing to really get this 
to work well.   Actually, this could provide a good opportunity to cleanup the 
JAXB WSDL   extension mechanism to NOT require that the schema extends the 
wsdl:tExtensibilityElement type.   I'm actually thinking a xjc plugin that 
would make all the generated types automatically implement the wsdl4j 
ExtensibiltyElement interface and add the methods/fields for that. 

That can significantly cleanup the CXF schemas for all the extensors.   It 
would be completely automatic.


Dan

On Tue June 23 2009 11:51:43 am liucong wrote:
  

Hi,
I want to add wsdl extension for SOAP/JMS according to
http://www.w3.org/TR/2008/WD-soapjms-20081121/#wsdl-extensions.

For example, I want add wsdl extension for DeliveryMode property. I edit
the wsdl file like[1]:
wsdl:binding name=JMSGreeterPortBinding type=tns:JMSGreeterPortType
soap:binding style=document
transport=http://www.w3.org/2008/07/soap/bindings/JMS//

soapjms:deliveryModePERSISTENT/soapjms:deliveryMode

wsdl:operation name=greetMe
soap:operation soapAction=test style=document/
wsdl:input name=greetMeRequest
soap:body use=literal/
/wsdl:input
wsdl:output name=greetMeResponse
soap:body use=literal/
/wsdl:output
/wsdl:operation
...
/wsdl:binding

If I add the extension schema like this[2]:

xs:element name=deliveryMode type=soapjms:deliveryModeType /

xs:complexType name=deliveryModeType
xs:complexContent
xs:extension base=wsdl:tExtensibilityElement
xs:sequence
xs:element name=deliveryMode
xs:simpleType
xs:restriction base=xs:string
xs:enumeration value=PERSISTENT /
xs:enumeration value=NON_PERSISTENT /
/xs:restriction
/xs:simpleType
/xs:element
/xs:sequence
/xs:extension
/xs:complexContent
/xs:complexType

But I can't get the extension in the wsdl.
If I change the wsdl like this[3]:
wsdl:binding name=JMSGreeterPortBinding type=tns:JMSGreeterPortType
soap:binding style=document
transport=http://www.w3.org/2008/07/soap/bindings/JMS//

soapjms:deliveryModesoapjms:deliveryModePERSISTENT/soapjms:deliveryMod
e/soapjms:deliveryMode

wsdl:operation name=greetMe
soap:operation soapAction=test style=document/
wsdl:input name=greetMeRequest
soap:body use=literal/
/wsdl:input
wsdl:output name=greetMeResponse
soap:body use=literal/
/wsdl:output
/wsdl:operation
...
/wsdl:binding

I'll get the result of deliveryMode extension.
I think the wsdl extension just can add attributes, element to a
extension element in CXF. But I can't get the extension element's value.
Is it right?

My question is: how to get the extension information in [1]. What does
the extension schema look like?

thanks.
Liu



  




Re: SOAP/JMS specification for CXF [Project Status]

2009-06-24 Thread liucong
Hi all,

I have submitted a patch for my work in transport-jms.
https://issues.apache.org/jira/browse/CXF-2253. It is not complete, and
I'll continue to work on it to make it complete.

Any suggests are welcome!

liu

liucong wrote:
 Hi all,

 Project Description:
 SOAP over JMS specification (http://www.w3.org/TR/soapjms/) is aimed at
 a set of standards for the transport of SOAP messages over JMS (Java
 Message Service). The main purpose is to ensure interoperability between
 the implementations of different Web services vendors.
 CXF does support SOAP over JMS, but it does not meet the current draft
 specification defined at http://www.w3.org/TR/soapjms/ and instead uses
 some proprietary formats, headers, URL formats, etc. This project would
 update the SOAP/JMS support in CXF to be completely specification
 compliant.
 Any advice or help are welcome!

 Project Information:
 1.Project Status: http://wiki.apache.org/general/soapjms4cxf
 2.Project Code: http://github.com/liucong/jms4cxf2/tree/master
 3.Project JIRA task: https://issues.apache.org/jira/browse/CXF-2253

 What I have done:
 1.Implement a simple JMS URI
 (http://tools.ietf.org/html/draft-merrick-jms-uri-05 )
 2.Integrate the JMS URI into current jms-transport. It is compatible
 with the specification.
 3.Modify the JMS Header Properties and JMS Properties and make it
 compatible with the specification.
 4.Modify some code about SOAP fault and MEPs.

 Liu


   



How to add wsdl extension for SOAP/JMS.

2009-06-23 Thread liucong
Hi,
I want to add wsdl extension for SOAP/JMS according to
http://www.w3.org/TR/2008/WD-soapjms-20081121/#wsdl-extensions.

For example, I want add wsdl extension for DeliveryMode property. I edit
the wsdl file like[1]:
wsdl:binding name=JMSGreeterPortBinding type=tns:JMSGreeterPortType
soap:binding style=document
transport=http://www.w3.org/2008/07/soap/bindings/JMS//

soapjms:deliveryModePERSISTENT/soapjms:deliveryMode

wsdl:operation name=greetMe
soap:operation soapAction=test style=document/
wsdl:input name=greetMeRequest
soap:body use=literal/
/wsdl:input
wsdl:output name=greetMeResponse
soap:body use=literal/
/wsdl:output
/wsdl:operation
...
/wsdl:binding

If I add the extension schema like this[2]:

xs:element name=deliveryMode type=soapjms:deliveryModeType /

xs:complexType name=deliveryModeType
xs:complexContent
xs:extension base=wsdl:tExtensibilityElement
xs:sequence
xs:element name=deliveryMode
xs:simpleType
xs:restriction base=xs:string
xs:enumeration value=PERSISTENT /
xs:enumeration value=NON_PERSISTENT /
/xs:restriction
/xs:simpleType
/xs:element
/xs:sequence
/xs:extension
/xs:complexContent
/xs:complexType

But I can't get the extension in the wsdl.
If I change the wsdl like this[3]:
wsdl:binding name=JMSGreeterPortBinding type=tns:JMSGreeterPortType
soap:binding style=document
transport=http://www.w3.org/2008/07/soap/bindings/JMS//

soapjms:deliveryModesoapjms:deliveryModePERSISTENT/soapjms:deliveryMode/soapjms:deliveryMode

wsdl:operation name=greetMe
soap:operation soapAction=test style=document/
wsdl:input name=greetMeRequest
soap:body use=literal/
/wsdl:input
wsdl:output name=greetMeResponse
soap:body use=literal/
/wsdl:output
/wsdl:operation
...
/wsdl:binding

I'll get the result of deliveryMode extension.
I think the wsdl extension just can add attributes, element to a
extension element in CXF. But I can't get the extension element's value.
Is it right?

My question is: how to get the extension information in [1]. What does
the extension schema look like?

thanks.
Liu



Re: How to implement the SOAP Fault for JMS Transport?

2009-06-16 Thread liucong

Hi,
   I have added a simple interceptor in the SOAP binding. If the 
transport uri is http://www.w3.org/2008/07/soap/bindings/JMS/, the jms 
interceptor will be added. But I have some question for that:

   1. I feel a little weird to add a transport-related interceptor here.
   2. Program Problem. I have declared some constants in the 
jms-transport module. I need use some of these constants in the jms 
interceptor. I think it is a little weird to add project dependency to 
jms-transport for soap-binding module. Do I need to declare these 
constants again in the soap-binding module?
   3. How to deal with soapjms:isFault property. If the soapjms:isFault 
is true, it indicates that the response is a SOAP fault. How to deal 
with this property.


best regards,
liu

Daniel Kulp Writes:

On Wed June 10 2009 4:38:37 am liucong wrote:
  

So, the JMS transport just copy JMS message properties to somewhere(For
example, Message.PROTOCOL_HEADERS map). Then the SOAP binding add some
extra interceptors (How to add these interceptors?) to deal with these
properties (check the properties, throw some SOAP Faults, and so on).

Does it work? Is it Ok?



Yep.  That seems right.

To add your interceptors, it would be in the SoapBindingFactory class.   The 
createBinding(BindingInfo) method is where the interceptors for the SOAP stuff 
is setup.That would be the starting place to look.


Dan


  

Daniel Kulp Writes:


Ideally, to me, this type of fault mapping needs to be in the SOAP
binding, not the JMS transport.The JMS transport needs to be somewhat
independent of soap so that it's usable for things like XML over JMS and
possibly even some resty things.

Basically, the SOAP binding should examine it's transportId and if it's
the SOAP/JMS spec defined ID, it should add some extra interceptors to
handle the mapping of the soap specific things into the non-soap
specific things in the transport.

For example:  all the funky JMS headers that the SOAP/JMS spec requires
should be done from an interceptor provided by the SOAP binding (put them
in the Message.PROTOCOL_HEADERS map) that the JMS transport would just
copy across.

That said, I really haven't read the SOAP/JMS spec in very much detail so
I'm not sure if it's completely possible.   :-)

Dan

On Mon June 8 2009 10:54:18 pm liucong wrote:
  

Hi,

Willem Jiang Writes:


Hi,

I think you mean how to throw the fault from the JMS transport.
Basically , if you throw the fault from a CXF interceptor, CXF's
interceptors chain will take care of it and build the fault message and
throw it out.

If you want to check the Content type , you could write an interceptor
and load it with your soap jms transport.
  

How to load an interceptor with my soap jms transport? Is there any
material for help?

Thank you.



But I think  you could take
the soap binding (SoapBindingFactory) as an example, and put this kind
of checking as a work of soap jms binding.

Just my 2 cents,

Willem

liucong wrote:
  

Hi all,

When I implement the SOAP Over JMS Specification, I don’t know how to
implement SOAP fault for it.

I use the org.apache.cxf.interceptor.Fault to record the Fault
information. For example, I create a Fault instance for SOAP fault
subcode contentTypeMismatch
(http://www.w3.org/TR/2008/WD-soapjms-20080723/#binding-faults). If I
check the fault the cxf-rt-transports-jms module, I don’t know how to
deal with the fault which is checked out.

If I added an Interceptor for JMS transport, I can use the interceptor
to deal with the fault. Is It right?

If it is Ok, how is the interceptor added to the interceptors
according to whether the jms transport is used or not?

Are there any materials for interceptors, phases, and phase order?

Thank you very much!

Best regards,

Liu



  




SOAP/JMS specification for CXF [Project Status]

2009-06-10 Thread liucong
Hi all,

Project Description:
SOAP over JMS specification (http://www.w3.org/TR/soapjms/) is aimed at
a set of standards for the transport of SOAP messages over JMS (Java
Message Service). The main purpose is to ensure interoperability between
the implementations of different Web services vendors.
CXF does support SOAP over JMS, but it does not meet the current draft
specification defined at http://www.w3.org/TR/soapjms/ and instead uses
some proprietary formats, headers, URL formats, etc. This project would
update the SOAP/JMS support in CXF to be completely specification
compliant.
Any advice or help are welcome!

Project Information:
1.Project Status: http://wiki.apache.org/general/soapjms4cxf
2.Project Code: http://github.com/liucong/jms4cxf2/tree/master
3.Project JIRA task: https://issues.apache.org/jira/browse/CXF-2253

What I have done:
1.Implement a simple JMS URI
(http://tools.ietf.org/html/draft-merrick-jms-uri-05 )
2.Integrate the JMS URI into current jms-transport. It is compatible
with the specification.
3.Modify the JMS Header Properties and JMS Properties and make it
compatible with the specification.
4.Modify some code about SOAP fault and MEPs.

Liu



Re: How to implement the SOAP Fault for JMS Transport?

2009-06-10 Thread liucong
So, the JMS transport just copy JMS message properties to somewhere(For 
example, Message.PROTOCOL_HEADERS map). Then the SOAP binding add some 
extra interceptors (How to add these interceptors?) to deal with these 
properties (check the properties, throw some SOAP Faults, and so on).


Does it work? Is it Ok?



Daniel Kulp Writes:
Ideally, to me, this type of fault mapping needs to be in the SOAP binding, 
not the JMS transport.The JMS transport needs to be somewhat independent 
of soap so that it's usable for things like XML over JMS and possibly even 
some resty things.


Basically, the SOAP binding should examine it's transportId and if it's the 
SOAP/JMS spec defined ID, it should add some extra interceptors to handle the 
mapping of the soap specific things into the non-soap specific things in the 
transport.  

For example:  all the funky JMS headers that the SOAP/JMS spec requires should 
be done from an interceptor provided by the SOAP binding (put them in the 
Message.PROTOCOL_HEADERS map) that the JMS transport would just copy across.


That said, I really haven't read the SOAP/JMS spec in very much detail so I'm 
not sure if it's completely possible.   :-)


Dan


On Mon June 8 2009 10:54:18 pm liucong wrote:
  

Hi,

Willem Jiang Writes:


Hi,

I think you mean how to throw the fault from the JMS transport.
Basically , if you throw the fault from a CXF interceptor, CXF's
interceptors chain will take care of it and build the fault message and
throw it out.

If you want to check the Content type , you could write an interceptor
and load it with your soap jms transport.
  

How to load an interceptor with my soap jms transport? Is there any
material for help?

Thank you.



But I think  you could take
the soap binding (SoapBindingFactory) as an example, and put this kind
of checking as a work of soap jms binding.

Just my 2 cents,

Willem

liucong wrote:
  

Hi all,

When I implement the SOAP Over JMS Specification, I don’t know how to
implement SOAP fault for it.

I use the org.apache.cxf.interceptor.Fault to record the Fault
information. For example, I create a Fault instance for SOAP fault
subcode contentTypeMismatch
(http://www.w3.org/TR/2008/WD-soapjms-20080723/#binding-faults). If I
check the fault the cxf-rt-transports-jms module, I don’t know how to
deal with the fault which is checked out.

If I added an Interceptor for JMS transport, I can use the interceptor
to deal with the fault. Is It right?

If it is Ok, how is the interceptor added to the interceptors according
to whether the jms transport is used or not?

Are there any materials for interceptors, phases, and phase order?

Thank you very much!

Best regards,

Liu



  




Re: How to implement the SOAP Fault for JMS Transport?

2009-06-08 Thread liucong
Hi,

Willem Jiang 写道:
 Hi,

 I think you mean how to throw the fault from the JMS transport.
 Basically , if you throw the fault from a CXF interceptor, CXF's
 interceptors chain will take care of it and build the fault message and
 throw it out.

 If you want to check the Content type , you could write an interceptor
 and load it with your soap jms transport. But I think  you could take
 the soap binding (SoapBindingFactory) as an example, and put this kind
 of checking as a work of soap jms binding.

   
SoapBindingFactory gets the binding information according to the
bindingid, for example, http://schemas.xmlsoap.org/wsdl/soap/. SOAP/JMS
may not provide a SOAP JMS binding id or something like that. I think we
should not add bindingid, too.
 Just my 2 cents,

 Willem


 liucong wrote:
   
 Hi all,

 When I implement the SOAP Over JMS Specification, I don’t know how to
 implement SOAP fault for it.

 I use the org.apache.cxf.interceptor.Fault to record the Fault
 information. For example, I create a Fault instance for SOAP fault
 subcode contentTypeMismatch
 (http://www.w3.org/TR/2008/WD-soapjms-20080723/#binding-faults). If I
 check the fault the cxf-rt-transports-jms module, I don’t know how to
 deal with the fault which is checked out.

 If I added an Interceptor for JMS transport, I can use the interceptor
 to deal with the fault. Is It right?

 If it is Ok, how is the interceptor added to the interceptors according
 to whether the jms transport is used or not?

 Are there any materials for interceptors, phases, and phase order?

 Thank you very much!

 Best regards,

 Liu


 


   



Re: How to implement the SOAP Fault for JMS Transport?

2009-06-08 Thread liucong
Hi,

Willem Jiang Writes:
 Hi,

 I think you mean how to throw the fault from the JMS transport.
 Basically , if you throw the fault from a CXF interceptor, CXF's
 interceptors chain will take care of it and build the fault message and
 throw it out.

 If you want to check the Content type , you could write an interceptor
 and load it with your soap jms transport. 
How to load an interceptor with my soap jms transport? Is there any
material for help?

Thank you.
 But I think  you could take
 the soap binding (SoapBindingFactory) as an example, and put this kind
 of checking as a work of soap jms binding.

 Just my 2 cents,

 Willem


 liucong wrote:
   
 Hi all,

 When I implement the SOAP Over JMS Specification, I don’t know how to
 implement SOAP fault for it.

 I use the org.apache.cxf.interceptor.Fault to record the Fault
 information. For example, I create a Fault instance for SOAP fault
 subcode contentTypeMismatch
 (http://www.w3.org/TR/2008/WD-soapjms-20080723/#binding-faults). If I
 check the fault the cxf-rt-transports-jms module, I don’t know how to
 deal with the fault which is checked out.

 If I added an Interceptor for JMS transport, I can use the interceptor
 to deal with the fault. Is It right?

 If it is Ok, how is the interceptor added to the interceptors according
 to whether the jms transport is used or not?

 Are there any materials for interceptors, phases, and phase order?

 Thank you very much!

 Best regards,

 Liu


 


   



a question when I run the JUnit test in eclipse.

2009-06-07 Thread liucong
Hi all,

I have encountered a question when I run the JUnit test in eclipse.

I have set up my eclipse workspace(eclipse 3.4.1) following the orders
in http://cxf.apache.org/setting-up-eclipse.html.
Than I run a JUnit test
org.apache.cxf.systest.fault.IntFaultClientServerTest.java in
cxf-systests. I encountered the Exception as follows:
java.io.IOException: CreateProcess:
D:\software\Java\jdk1.5.0_08\jre\bin\java -ea
-Djavax.xml.ws.spi.Provider=org.apache.cxf.jaxws.spi.ProviderImpl
-classpath
E:\cxf\cxf-src\trunk\systests\target\test-classes;E:\cxf\cxf-src\trunk\systests\target\classes;C:\Documents
and
Settings\jason\.m2\repository\org\apache\abdera\abdera-core\0.4.0-incubating\abdera-core-0.4.0-incubating.jar;C:\Documents
and
Settings\jason\.m2\repository\org\apache\abdera\abdera-extensions-json\0.4.0-incubating\abdera-extensions-json-0.4.0-incubating.jar;C:\Documents
and
Settings\jason\.m2\repository\org\apache\abdera\abdera-extensions-main\0.4.0-incubating\abdera-extensions-main-0.4.0-incubating.jar;C:\Documents
and
Settings\jason\.m2\repository\org\apache\abdera\abdera-i18n\0.4.0-incubating\abdera-i18n-0.4.0-incubating.jar;C:\Documents
and
Settings\jason\.m2\repository\org\apache\abdera\abdera-parser\0.4.0-incubating\abdera-parser-0.4.0-incubating.jar;C:\Documents
and
Settings\jason\.m2\repository\org\apache\activemq\activeio-core\3.0.0-incubator\activeio-c�
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.init(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
at
org.apache.cxf.testutil.common.ServerLauncher.launchServer(ServerLauncher.java:199)
at
org.apache.cxf.testutil.common.AbstractClientServerTestBase.launchServer(AbstractClientServerTestBase.java:61)
at
org.apache.cxf.systest.fault.IntFaultClientServerTest.startServers(IntFaultClientServerTest.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.junit.internal.runners.ClassRoadie.runBefores(ClassRoadie.java:49)
at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:36)
at
org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

What's wrong?

Thank you very much.

Best regards,
Liu


How to implement the SOAP Fault for JMS Transport?

2009-06-07 Thread liucong
Hi all,

When I implement the SOAP Over JMS Specification, I don’t know how to
implement SOAP fault for it.

I use the org.apache.cxf.interceptor.Fault to record the Fault
information. For example, I create a Fault instance for SOAP fault
subcode contentTypeMismatch
(http://www.w3.org/TR/2008/WD-soapjms-20080723/#binding-faults). If I
check the fault the cxf-rt-transports-jms module, I don’t know how to
deal with the fault which is checked out.

If I added an Interceptor for JMS transport, I can use the interceptor
to deal with the fault. Is It right?

If it is Ok, how is the interceptor added to the interceptors according
to whether the jms transport is used or not?

Are there any materials for interceptors, phases, and phase order?

Thank you very much!

Best regards,

Liu



Re: GSoC projects for CXF

2009-06-07 Thread liucong

Hi,
   My  cwiki.apache.org/CXF's  User Name: liucon...@gmail.com, Full 
Name: jason.
   I have create a project for my project in gitHub. 
(http://github.com/liucong/jms4cxf2/tree/master).

   If it is needed, I'll do it following 3) One interesting thought:

Best regards,
Liu

Willem Jiang Writes:

Hi Dan,

LiuCong created a wiki page[1] of his project working status on apache
wiki , he doesn't have the write right of cwiki.apache.org/CXF, neither
to me (njiang) :(.  Could you grand the karma for us? So we can move the
page into CXF.

I just talked to LiuCong today on IRC , he will creates some JIRAs
according his development plan shortly.

[1] http://wiki.apache.org/general/soapjms4cxf
Cheers,

Willem

Daniel Kulp wrote:
  
Now that the implementation/code phase for the GSoC stuff has begun, it 
would definitely be good to start getting some additional communications 
flowing to see how progress is coming, resolve any roadblocks, answer 
questions, etc


Thus, here are some ideas I thought of...
1)  File some JIRA tasks on our JIRA:  
https://issues.apache.org/jira/browse/CXF
It would be good to get a base jira created for your project and then start 
adding sub tasks to it.As things are implemented, the sub-projects can be 
resolved so we can see progress and such.   Also provides a good checklist 
of what remains and such.  (also, patches can be attached to the jiras so we 
can apply them)


2) I'd also like to start seeing regular status updates to the dev list just 
to keep tabs.   Remember, part of your final evaluation with Google involves 
how involved you got with the community.   Thus, speaking up on the dev list 
is a very good thing.


3) One interesting thought:  I'd encourage you to get a github.com account 
and fork the CXF project (http://github.com/apache/cxf)  and start pushing 
changes as you work in there.   Thus, we can really see what you are doing, 
how it all works together, etc   Additionally, if the patch starts 
getting complex, git does a MUCH better job of dealing with complex patches 
than subversion.


Anyway, at this point, it's kind of important to get some information flowing.  





  




my blog for gsoc, SOAP/JMS

2009-04-25 Thread liucong
Hi everyone,

I have just started my first technical blog in google Blog
(http://liucong07.blogspot.com/), and posted some articles about Google
Summer of Code. My project is SOAP/JMS. I'll do some updates about my
project in here, and post some questions or my understanding about CXF
and Web Services.

I am a new guy for open source and CXF. Any comments, advices and help
are welcome :-) .
Thank you for your attention.

Any one who is interested in this project, please feel free to contact
with me :-)

Best regards,

Liu


Re: A novice for CXF, woking on SOAP/JMS

2009-04-23 Thread liucong

Hi All,

   Any quest, suggest, advice or help will be welcome. Thank you very much.

Liu Cong
I am Liu Cong. My nick in irc is liucong.I'm so excited as I am 
accepted by CXF as gsoc student.I will work on SOAP/JMS project, which 
will update the SOAP/JMS support in CXF to be completely specification 
compliant. My mentor is Willem Jiang.
Thanks for all you guys' help very much. Everyone please feels free to 
connect me.







GSoC Proposal:Implement JiBX databinding for CXF

2009-04-01 Thread liucong
Hi all,

This is another proposal for cxf-jibx.
I have published my proposal about cxf-jibx on 
http://wiki.apache.org/general/soc2009-cxf-jibx-proposal. The GSoC page is 
here:http://socghop.appspot.com/document/show/user/liucong/cxf_jibx_databinding


Any comments and suggestions are welcome.
Thanks in advance for your feedback.


Thank You,
Liu Cong



Re: GSoC Proposal:Implement the SOAP/JMS specification for CXF

2009-03-31 Thread liucong
Hi,

I have started to consider other ideas.

The project I attented is not public, so I can't give some links for it.
Though I have read some code about axis2, axis, mule, r-osgi, cxf-dosgi,
but I have not contributed some ideas to this project. I want to attend
the GSoC, and get me involved into open source.

GSoC will be a good start!


Liu


Willem Jiang 写道:
 Hi,

 Since there are more than 2 student choiced CXF-SOAP-JMS, do you
 consider to choice other ideas of CXF project ?

 Can you give us some reference of your projects or some link can show
 your coding ability?


 Willem


 jason wrote:
   
 Hi all,

 I want to take part in the GSoC. Aftter looking into the suggestions by 
 Daniel Kulp, I have modified my proposal and published this proposal on GSoC.
 I have published my proposal about cxf-soapjms on 
 http://wiki.apache.org/general/soc2009-soapjms-proposal. The GSoC page is 
 here:

 http://socghop.appspot.com/document/show/user/liucong/cxf_soapjms

  
 Any comments and suggestions are welcome.
 Thanks in advance for your feedback.


 Thank You,
 Liu Cong