You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by "Rob B." <ro...@yahoo.com> on 2007/09/21 22:35:17 UTC
jsr181 dropping input parameter
We have a pojo web service defined in a jsr181 su. (...which is assembled
together with a http su.)
The service invokes without exception and input is passed to our POJO, but
only one of the parameters in the input class (which has two string
elements) gets set.
The JSR181 declaration is (there are actually four services in the jsr181
SU):
<jsr181:endpoint pojo="#AddUserToCoiBeanId" style="wrapped"
service="coi:AddUserToCoiService"/>
<jsr181:endpoint pojo="#CreateCoiBeanId" style="wrapped"
service="coi:CreateCoiService"/>
<jsr181:endpoint pojo="#DeleteCoiBeanId" style="wrapped"
service="coi:DeleteCoiService"/>
<jsr181:endpoint pojo="#RemoveUserFromCoiBeanId" style="wrapped"
service="coi:RemoveUserFromCoiService"/>
I've tried 'wrapped' and 'document' for the attribute style. Neither works.
The POJO snippet is:
@WebService(serviceName = "AddUserToCoiService", targetNamespace =
"http://ssoa.raytheon.com/coiservices/adduser")
public class AddUserToCoi {
private Group ldapGroup;
/* */
@WebMethod(operationName = "addUserToCoi", action =
"urn:addUserToCoi")
@WebResult(name = "invocationResult")
public InvocationResult addUserToCoi(UserCoiRequest request) {
return ldapGroup.addUserToGroup(request.getUserName(),
request.getCoiName());
}
request.getUserName() always resolves to "". Only request.getCoiName() is
set as per the client.
The HTTP config is:
<http:endpoint service="coi:AddUserToCoiService"
endpoint="addUserSoap"
targetService="coi:AddUserToCoiService"
role="consumer"
locationURI="http://0.0.0.0:8192/AddUserToCoiService/"
soap="true" />
....
Does anyone have any ideas where to go from here?
This is version 3.1.1. And, it works when DEBUG is on. Wow..
Thanks!
--
View this message in context: http://www.nabble.com/jsr181-dropping-input-parameter-tf4498434s12049.html#a12829370
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: jsr181 dropping input parameter
Posted by Gert Vanthienen <ge...@skynet.be>.
Rob,
Have you tried deploying the same SA on ServiceMix 3.1.2? ServiceMix
3.1.2 fixes some other issues with JSR-181 that could also be avoided by
setting the logging level to DEBUG, so perhaps your issue is fixed as well.
Gert
Bruce Snyder wrote:
> On 9/21/07, Rob B. <ro...@yahoo.com> wrote:
>> We have a pojo web service defined in a jsr181 su. (...which is assembled
>> together with a http su.)
>>
>> The service invokes without exception and input is passed to our POJO, but
>> only one of the parameters in the input class (which has two string
>> elements) gets set.
>>
>> The JSR181 declaration is (there are actually four services in the jsr181
>> SU):
>>
>> <jsr181:endpoint pojo="#AddUserToCoiBeanId" style="wrapped"
>> service="coi:AddUserToCoiService"/>
>> <jsr181:endpoint pojo="#CreateCoiBeanId" style="wrapped"
>> service="coi:CreateCoiService"/>
>> <jsr181:endpoint pojo="#DeleteCoiBeanId" style="wrapped"
>> service="coi:DeleteCoiService"/>
>> <jsr181:endpoint pojo="#RemoveUserFromCoiBeanId" style="wrapped"
>> service="coi:RemoveUserFromCoiService"/>
>>
>> I've tried 'wrapped' and 'document' for the attribute style. Neither works.
>>
>> The POJO snippet is:
>>
>> @WebService(serviceName = "AddUserToCoiService", targetNamespace =
>> "http://ssoa.raytheon.com/coiservices/adduser")
>> public class AddUserToCoi {
>>
>> private Group ldapGroup;
>>
>> /* */
>> @WebMethod(operationName = "addUserToCoi", action =
>> "urn:addUserToCoi")
>> @WebResult(name = "invocationResult")
>> public InvocationResult addUserToCoi(UserCoiRequest request) {
>> return ldapGroup.addUserToGroup(request.getUserName(),
>> request.getCoiName());
>> }
>>
>> request.getUserName() always resolves to "". Only request.getCoiName() is
>> set as per the client.
>>
>> The HTTP config is:
>>
>> <http:endpoint service="coi:AddUserToCoiService"
>> endpoint="addUserSoap"
>> targetService="coi:AddUserToCoiService"
>> role="consumer"
>> locationURI="http://0.0.0.0:8192/AddUserToCoiService/"
>> soap="true" />
>> ....
>>
>>
>> Does anyone have any ideas where to go from here?
>>
>> This is version 3.1.1. And, it works when DEBUG is on. Wow..
>
> This last statement tells me that there might be something about the
> parameter handling somewhere that is wrapped in an isDebugEnabled()
> conditional block. Can you provide the SA for me to try to reproduce
> the problem?
>
> Bruce
Re: jsr181 dropping input parameter
Posted by Bruce Snyder <br...@gmail.com>.
On 9/21/07, Rob B. <ro...@yahoo.com> wrote:
>
> We have a pojo web service defined in a jsr181 su. (...which is assembled
> together with a http su.)
>
> The service invokes without exception and input is passed to our POJO, but
> only one of the parameters in the input class (which has two string
> elements) gets set.
>
> The JSR181 declaration is (there are actually four services in the jsr181
> SU):
>
> <jsr181:endpoint pojo="#AddUserToCoiBeanId" style="wrapped"
> service="coi:AddUserToCoiService"/>
> <jsr181:endpoint pojo="#CreateCoiBeanId" style="wrapped"
> service="coi:CreateCoiService"/>
> <jsr181:endpoint pojo="#DeleteCoiBeanId" style="wrapped"
> service="coi:DeleteCoiService"/>
> <jsr181:endpoint pojo="#RemoveUserFromCoiBeanId" style="wrapped"
> service="coi:RemoveUserFromCoiService"/>
>
> I've tried 'wrapped' and 'document' for the attribute style. Neither works.
>
> The POJO snippet is:
>
> @WebService(serviceName = "AddUserToCoiService", targetNamespace =
> "http://ssoa.raytheon.com/coiservices/adduser")
> public class AddUserToCoi {
>
> private Group ldapGroup;
>
> /* */
> @WebMethod(operationName = "addUserToCoi", action =
> "urn:addUserToCoi")
> @WebResult(name = "invocationResult")
> public InvocationResult addUserToCoi(UserCoiRequest request) {
> return ldapGroup.addUserToGroup(request.getUserName(),
> request.getCoiName());
> }
>
> request.getUserName() always resolves to "". Only request.getCoiName() is
> set as per the client.
>
> The HTTP config is:
>
> <http:endpoint service="coi:AddUserToCoiService"
> endpoint="addUserSoap"
> targetService="coi:AddUserToCoiService"
> role="consumer"
> locationURI="http://0.0.0.0:8192/AddUserToCoiService/"
> soap="true" />
> ....
>
>
> Does anyone have any ideas where to go from here?
>
> This is version 3.1.1. And, it works when DEBUG is on. Wow..
This last statement tells me that there might be something about the
parameter handling somewhere that is wrapped in an isDebugEnabled()
conditional block. Can you provide the SA for me to try to reproduce
the problem?
Bruce
--
perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'
Apache ActiveMQ - http://activemq.org/
Apache ServiceMix - http://servicemix.org/
Apache Geronimo - http://geronimo.apache.org/
Castor - http://castor.org/