You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Daniel Kulp <dk...@apache.org> on 2008/05/21 19:35:24 UTC

salesforce.com wsdl (was: Is cxf no tcompatible with XML beans)

OK.   This is actually a code generations problem:
http://issues.apache.org/jira/browse/CXF-1600

I created a salesforce.com developer account for myself today and  
played with the wsdl a bit.   I downloaded their "jaxws 2.1" sample  
pack thing and modified their QuickStart client to work with CXF.

The first thing I did was:
http://issues.apache.org/jira/browse/CXF-1601
to allow me to not have to create a JAXB customization file.   :-)

Then I noticed the method signatures aren't correct.   Most of those  
parameters on the methods are not supposed to be there.   That's  
CXF-1600.   I just fixed that and committed the changes.    With that  
fixed, I can use the modified QuickStart to login, get the server  
timestamp, list the accounts, and update and account.   Thus, I think  
it's now working OK.

In anycase, I'm deploying a new snapshot now.   In another hour or so,  
it should be up.   If you can give that a try, that would be great.    
The fix for 1600 WILL change all the method signatures to remove the  
"headers" that aren't applicable to that method.   Thus, you will need  
to modify your client code a bit.   However, it's probably a good thing.

Dan



On May 21, 2008, at 4:20 AM, Gaël LAZZARI wrote:

> Hi Daniel, thanks for your help !
> Yes, the error was very different. I actually use SOAP header in my  
> outbound
> Messages. The NullPointerException was my fault, but when I fixed  
> it, the
> HolderInInterceptor throw a IndexOutOfBoundsException when calling the
> MessageContentsList.getContentsList(message).get(MessagePartInfo  
> part),
> where the parts are got from the SOAP output message.
>
> So I tried this morning with the "apache-cxf-2.1.1-20080520.211236-4"
> snapshot, the same error has been thrown.
>
> A Jira issue has already been posted (
> https://issues.apache.org/jira/browse/CXF-1568), and I just saw that  
> it was
> assigned to you today !
>
> I send you here my client code and the generated SOAP message which  
> is ok,
> maybe it can help you !
> (I'm trying to consume Salesforce.com services through the  
> partner.wsdl)
>
> cxf generated code of one service's methods :
>
>    @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
>    @WebResult(name = "createResponse", targetNamespace = "urn:
> partner.soap.sforce.com", partName = "parameters")
>    @WebMethod
>    public CreateResponse create(
>        @WebParam(partName = "parameters", name = "create",  
> targetNamespace
> = "urn:partner.soap.sforce.com")
>        Create parameters,
>        @WebParam(partName = "DebuggingInfo", mode =  
> WebParam.Mode.INOUT,
> name = "DebuggingInfo", targetNamespace =  
> "urn:partner.soap.sforce.com",
> header = true)
>        javax.xml.ws.Holder<DebuggingInfo> debuggingInfo,
>        @WebParam(partName = "DebuggingHeader", mode =  
> WebParam.Mode.INOUT,
> name = "DebuggingHeader", targetNamespace = "urn:partner.soap.sforce.com 
> ",
> header = true)
>        javax.xml.ws.Holder<DebuggingHeader> debuggingHeader,
>        @WebParam(partName = "MruHeader", mode = WebParam.Mode.INOUT,  
> name =
> "MruHeader", targetNamespace = "urn:partner.soap.sforce.com", header  
> = true)
>        javax.xml.ws.Holder<MruHeader> mruHeader,
>        @WebParam(partName = "QueryOptions", mode =  
> WebParam.Mode.INOUT,
> name = "QueryOptions", targetNamespace =  
> "urn:partner.soap.sforce.com")
>        javax.xml.ws.Holder<QueryOptions> queryOptions,
>        @WebParam(partName = "LocaleOptions", mode =  
> WebParam.Mode.INOUT,
> name = "LocaleOptions", targetNamespace =  
> "urn:partner.soap.sforce.com")
>        javax.xml.ws.Holder<LocaleOptions> localeOptions,
>        @WebParam(partName = "EmailHeader", mode =  
> WebParam.Mode.INOUT, name
> = "EmailHeader", targetNamespace = "urn:partner.soap.sforce.com",  
> header =
> true)
>        javax.xml.ws.Holder<EmailHeader> emailHeader,
>        @WebParam(partName = "UserTerritoryDeleteHeader", mode =
> WebParam.Mode.INOUT, name = "UserTerritoryDeleteHeader",  
> targetNamespace =
> "urn:partner.soap.sforce.com")
>        javax.xml.ws.Holder<UserTerritoryDeleteHeader>
> userTerritoryDeleteHeader,
>        @WebParam(partName = "LoginScopeHeader", mode =  
> WebParam.Mode.INOUT,
> name = "LoginScopeHeader", targetNamespace = "urn:partner.soap.sforce.com 
> ")
>        javax.xml.ws.Holder<LoginScopeHeader> loginScopeHeader,
>        @WebParam(partName = "AssignmentRuleHeader", mode =
> WebParam.Mode.INOUT, name = "AssignmentRuleHeader", targetNamespace  
> = "urn:
> partner.soap.sforce.com", header = true)
>        javax.xml.ws.Holder<AssignmentRuleHeader> assignmentRuleHeader,
>        @WebParam(partName = "SessionHeader", mode =  
> WebParam.Mode.INOUT,
> name = "SessionHeader", targetNamespace =  
> "urn:partner.soap.sforce.com",
> header = true)
>        javax.xml.ws.Holder<SessionHeader> sessionHeader,
>        @WebParam(partName = "CallOptions", mode =  
> WebParam.Mode.INOUT, name
> = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com",  
> header =
> true)
>        javax.xml.ws.Holder<CallOptions> callOptions
>    ) throws UnexpectedErrorFault, InvalidIdFault, InvalidFieldFault,
> InvalidSObjectFault;
>
>
> The outbound message when calling this :
>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>    <soap:Header>
>        <SessionHeader xmlns:ns3="urn:fault.partner.soap.sforce.com"
>            xmlns:ns2="urn:sobject.partner.soap.sforce.com"
>            xmlns="urn:partner.soap.sforce.com">
>            <sessionId>
>
> 460200D70000000IQeW! 
> AQ0AQG9d9iqlIIAaw_R3H15rJHfrf_GMj12ETIp8f 
> .BsCplX0KwaHrJLGoEFaAMeoy4y_PPppcX2uXItleMLbVJF24uof0MI
>            </sessionId>
>        </SessionHeader>
>    </soap:Header>
>    <soap:Body>
>        <create xmlns="urn:partner.soap.sforce.com"
>            xmlns:ns2="urn:sobject.partner.soap.sforce.com"
>            xmlns:ns3="urn:fault.partner.soap.sforce.com">
>            <sObjects>
>                <ns2:Id
>                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance 
> "
>                    xsi:nil="true" />
>                <ns2:type xmlns="urn:sobject.partner.soap.sforce.com">
>                    Contact
>                </ns2:type>
>                <ns2:birthdate
>                    xmlns="urn:sobject.partner.soap.sforce.com">
>                    2008-05-142
>                </ns2:birthdate>
>                <ns2:firstName
>                    xmlns="urn:sobject.partner.soap.sforce.com">
>                    testConvert
>                </ns2:firstName>
>                <ns2:lastName
>                    xmlns="urn:sobject.partner.soap.sforce.com">
>                    testLastConvert
>                </ns2:lastName>
>            </sObjects>
>        </create>
>    </soap:Body>
> </soap:Envelope>
>
> The Salesforce.com server response :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope
>    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>    xmlns="urn:partner.soap.sforce.com">
>    <soapenv:Body>
>        <createResponse>
>            <result>
>                <id>0037000000YgDckAAF</id>
>                <success>true</success>
>            </result>
>        </createResponse>
>    </soapenv:Body>
> </soapenv:Envelope>
>
> => no problem, my Contact is create in Salesforce.com
>
> But an IndexOutOfBoundsException is thrown (same stack as in je jira  
> issue)
> :
>
> Interceptor has thrown exception, unwinding now
> java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
>    at java.util.ArrayList.RangeCheck(ArrayList.java:546)
>    at java.util.ArrayList.get(ArrayList.java:321)
>    at
> org 
> .apache.cxf.message.MessageContentsList.get(MessageContentsList.java: 
> 79)
>    at
> org 
> .apache 
> .cxf 
> .jaxws 
> .interceptors 
> .HolderInInterceptor.handleMessage(HolderInInterceptor.java:64)
>    at
> org 
> .apache 
> .cxf 
> .phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java: 
> 221)
>    at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java: 
> 429)
>    at
> org.apache.cxf.transport.http.HTTPConduit 
> $WrappedOutputStream.handleResponse(HTTPConduit.java:1988)
>    at
> org.apache.cxf.transport.http.HTTPConduit 
> $WrappedOutputStream.close(HTTPConduit.java:1824)
>    at
> org 
> .apache 
> .cxf 
> .io 
> .CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java: 
> 47)
>    at
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java: 
> 159)
>    at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java: 
> 66)
>    at  
> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:583)
>    at
> org.apache.cxf.interceptor.MessageSenderInterceptor 
> $ 
> MessageSenderEndingInterceptor 
> .handleMessage(MessageSenderInterceptor.java:62)
>    at
> org 
> .apache 
> .cxf 
> .phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java: 
> 221)
>    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
>    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
>    at  
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>    at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java: 
> 178)
>
>
> TYIA  for your great work Daniel !
>
> Gaël
>
>
>
> 2008/5/20, Daniel Kulp <dk...@apache.org>:
>>
>>
>> This error is pretty different.....   Does the message have headers  
>> in it?
>>
>> I THINK I may have this fixed now.   I'm going to deploy a new  
>> snapshot
>> tonight.   If you could retry with that snapshot tomorrow morning,  
>> that
>> would be great.
>>
>>
>> Dan
>>
>>
>>
>>
>> On May 18, 2008, at 1:51 PM, XeN0s wrote:
>>
>>
>>> Hi,
>>> I'm using cxf 2.1 and I have the same error although  I consume my
>>> webservice well (I receive I soap message from the server that  
>>> notify me
>>> the
>>> operation's success on the server side).
>>>
>>> And the error I don't understand is :
>>>
>>> 18 mai 2008 19:49:45 org.apache.cxf.phase.PhaseInterceptorChain
>>> doIntercept
>>> INFO: Interceptor has thrown exception, unwinding now
>>> java.lang.NullPointerException
>>>       at
>>>
>>> org 
>>> .apache 
>>> .cxf 
>>> .jaxws 
>>> .interceptors 
>>> .HolderInInterceptor.handleMessage(HolderInInterceptor.java:64)
>>>       at
>>>
>>> org 
>>> .apache 
>>> .cxf 
>>> .phase 
>>> .PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>>>       at
>>> org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:429)
>>>       at
>>>
>>> org.apache.cxf.transport.http.HTTPConduit 
>>> $WrappedOutputStream.handleResponse(HTTPConduit.java:1988)
>>>       at
>>>
>>> org.apache.cxf.transport.http.HTTPConduit 
>>> $WrappedOutputStream.close(HTTPConduit.java:1824)
>>>       at
>>>
>>> org 
>>> .apache 
>>> .cxf 
>>> .io 
>>> .CacheAndWriteOutputStream 
>>> .postClose(CacheAndWriteOutputStream.java:47)
>>>       at
>>> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java: 
>>> 159)
>>>       at
>>> org 
>>> .apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>>>       at
>>> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java: 
>>> 583)
>>>       at
>>>
>>> org.apache.cxf.interceptor.MessageSenderInterceptor 
>>> $ 
>>> MessageSenderEndingInterceptor 
>>> .handleMessage(MessageSenderInterceptor.java:62)
>>>       at
>>>
>>> org 
>>> .apache 
>>> .cxf 
>>> .phase 
>>> .PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>>>       at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java: 
>>> 276)
>>>       at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java: 
>>> 222)
>>>       at
>>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>>>       at
>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java: 
>>> 177)
>>>       at $Proxy42.create(Unknown Source)
>>>       at com.avs.sforce.connection.SFClient.create(SFClient.java: 
>>> 165)
>>>       at
>>>
>>> com.avs.sforce.connection.SFClient$$FastClassByCGLIB$ 
>>> $4e83e795.invoke(<generated>)
>>>       at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
>>>       at
>>>
>>> org.springframework.aop.framework.Cglib2AopProxy 
>>> $CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:694)
>>>       at
>>>
>>> org 
>>> .springframework 
>>> .aop 
>>> .framework 
>>> .ReflectiveMethodInvocation 
>>> .proceed(ReflectiveMethodInvocation.java:149)
>>>       at
>>>
>>> org 
>>> .springframework 
>>> .aop 
>>> .aspectj 
>>> .MethodInvocationProceedingJoinPoint 
>>> .proceed(MethodInvocationProceedingJoinPoint.java:77)
>>>       at  
>>> com.avs.sforce.connection.AspectRetry.retry(AspectRetry.java:40)
>>>       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 
>>> .springframework 
>>> .aop 
>>> .aspectj 
>>> .AbstractAspectJAdvice 
>>> .invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:597)
>>>       at
>>>
>>> org 
>>> .springframework 
>>> .aop 
>>> .aspectj 
>>> .AbstractAspectJAdvice 
>>> .invokeAdviceMethod(AbstractAspectJAdvice.java:583)
>>>       at
>>>
>>> org 
>>> .springframework 
>>> .aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:60)
>>>       at
>>>
>>> org 
>>> .springframework 
>>> .aop 
>>> .framework 
>>> .ReflectiveMethodInvocation 
>>> .proceed(ReflectiveMethodInvocation.java:171)
>>>       at
>>>
>>> org 
>>> .springframework 
>>> .aop 
>>> .interceptor 
>>> .ExposeInvocationInterceptor 
>>> .invoke(ExposeInvocationInterceptor.java:89)
>>>       at
>>>
>>> org 
>>> .springframework 
>>> .aop 
>>> .framework 
>>> .ReflectiveMethodInvocation 
>>> .proceed(ReflectiveMethodInvocation.java:171)
>>>       at
>>>
>>> org.springframework.aop.framework.Cglib2AopProxy 
>>> $DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:629)
>>>       at
>>>
>>> com.avs.sforce.connection.SFClient$$EnhancerByCGLIB$ 
>>> $d81710b6.create(<generated>)
>>>       at com.avs.test.TestConversion.main(TestConversion.java:32)
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Is-cxf-no-tcompatible-with-XML-beans-tp17271898p17305733.html
>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>
>>>
>> ---
>> Daniel Kulp
>> dkulp@apache.org
>> http://www.dankulp.com/blog
>>
>>
>>
>>
>>

---
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog





Antwort: schema-validation-enabled does not work.. [Virus checked]

Posted by ja...@external.t-mobile.at.
Hi Bharath,

maybe you have to add some more attritbutes to endpoint .. for me it works 
... i'm using all as you plus 
serviceName (without this it'll be created as java first  and soap action 
will not be send .. and maybe also validation doesn't work ?) and 
implementorClass (but i'm using aop proxy as reference to implementor .. 
that's why i have to specify this)

could you try to add serviceName? I have it like this:
                serviceName="serNs:MyService"
                xmlns:serNs="http://hello.world/test"

best regards
jano




Bharath Thippireddy <bt...@primavera.com> 
05/28/2008 22:41
Bitte antworten an
users@cxf.apache.org


An
users@cxf.apache.org
Kopie
dkulp@apache.org
Thema
schema-validation-enabled does not work..  [Virus checked]






We are trying to validate the soap request/responses on the server side by 

using the "schema-validation-enabled" ,but i do not see any validation 
happening.Below is the end-point definition from our cxf-servlet.xml.Is 
this a bug?

<jaxws:endpoint
        id="AuthenticationService"
 implementor="com.primavera.ws.jaxws.provider.AuthenticationProvider"
        wsdlLocation="WEB-INF/wsdl/Authentication.wsdl"
        address="/AuthenticationService">
                <jaxws:features>
             <bean class="org.apache.cxf.feature.LoggingFeature"/>
                </jaxws:features>
                <jaxws:properties>
                            <entry key="schema-validation-enabled" 
value="true" />
        </jaxws:properties>
    </jaxws:endpoint>

thanks,
Bharath



schema-validation-enabled does not work..

Posted by Bharath Thippireddy <bt...@primavera.com>.
We are trying to validate the soap request/responses on the server side by 
using the "schema-validation-enabled" ,but i do not see any validation 
happening.Below is the end-point definition from our cxf-servlet.xml.Is 
this a bug?

<jaxws:endpoint
        id="AuthenticationService"
 implementor="com.primavera.ws.jaxws.provider.AuthenticationProvider"
        wsdlLocation="WEB-INF/wsdl/Authentication.wsdl"
        address="/AuthenticationService">
                <jaxws:features>
             <bean class="org.apache.cxf.feature.LoggingFeature"/>
                </jaxws:features>
                <jaxws:properties>
                            <entry key="schema-validation-enabled" 
value="true" />
        </jaxws:properties>
    </jaxws:endpoint>

thanks,
Bharath


Re: salesforce.com wsdl (was: Is cxf no tcompatible with XML beans)

Posted by Daniel Kulp <dk...@apache.org>.

The "A class/interface with the same name  
"com.sforce.soap.partner.DescribeLayout" is already in use" error is  
from jaxb and, per spec, requires the user to remap any conflicting  
classes via the customization things.   HOWEVER, while debugging the  
salesforce stuff, I added a flag to wsdl2java to automatically remap  
conflicting classes (by appending a number to it, like  
DescribeLayout2).   If you are using the very latest trunk code, you  
can do:
wsdl2java -autoNameResolution -exsh true partner.wsdl


Dan


On May 28, 2008, at 12:26 PM, XeN0s wrote:

>
> Sorry, I wasn't notified that you answered the mail list, and I was  
> so busy I
> forgot to have a look to it.
> So, like I said, the modifications you made
> (http://issues.apache.org/jira/browse/CXF-1600 actually !) work  
> great ! I
> had to regenerated the classes and edited my client code (not a big  
> deal,
> and it's prettier now ;-)).
>
> Today, I tried to regenerate the classes without jaxb binding  
> configuration
> file, but I didn't manage :
> "WSDLToJava Error: Thrown by JAXB : A class/interface with the same  
> name
> "com.sfo
> rce.soap.partner.DescribeLayout" is already in use. Use a class
> customization to
> resolve this conflict."
>
> I still had to use my binding file to suffix all type names by  
> "Type", but
> it's not very convenient in generated classes..
> Am I missing something while generating client with : "wsdl2java - 
> exsh true
> partner.wsdl" ?
>
> Thanks a lot Dan and sorry for the "hudge jet lag !"
>
> Gaël
>
>
>
>
> dkulp wrote:
>>
>>
>> OK.   This is actually a code generations problem:
>> http://issues.apache.org/jira/browse/CXF-1600
>>
>> I created a salesforce.com developer account for myself today and
>> played with the wsdl a bit.   I downloaded their "jaxws 2.1" sample
>> pack thing and modified their QuickStart client to work with CXF.
>>
>> The first thing I did was:
>> http://issues.apache.org/jira/browse/CXF-1601
>> to allow me to not have to create a JAXB customization file.   :-)
>>
>> Then I noticed the method signatures aren't correct.   Most of those
>> parameters on the methods are not supposed to be there.   That's
>> CXF-1600.   I just fixed that and committed the changes.    With that
>> fixed, I can use the modified QuickStart to login, get the server
>> timestamp, list the accounts, and update and account.   Thus, I think
>> it's now working OK.
>>
>> In anycase, I'm deploying a new snapshot now.   In another hour or  
>> so,
>> it should be up.   If you can give that a try, that would be great.
>> The fix for 1600 WILL change all the method signatures to remove the
>> "headers" that aren't applicable to that method.   Thus, you will  
>> need
>> to modify your client code a bit.   However, it's probably a good  
>> thing.
>>
>> Dan
>>
>>
>>
>> On May 21, 2008, at 4:20 AM, Gaël LAZZARI wrote:
>>
>>> Hi Daniel, thanks for your help !
>>> Yes, the error was very different. I actually use SOAP header in my
>>> outbound
>>> Messages. The NullPointerException was my fault, but when I fixed
>>> it, the
>>> HolderInInterceptor throw a IndexOutOfBoundsException when calling  
>>> the
>>> MessageContentsList.getContentsList(message).get(MessagePartInfo
>>> part),
>>> where the parts are got from the SOAP output message.
>>>
>>> So I tried this morning with the "apache- 
>>> cxf-2.1.1-20080520.211236-4"
>>> snapshot, the same error has been thrown.
>>>
>>> A Jira issue has already been posted (
>>> https://issues.apache.org/jira/browse/CXF-1568), and I just saw that
>>> it was
>>> assigned to you today !
>>>
>>> I send you here my client code and the generated SOAP message which
>>> is ok,
>>> maybe it can help you !
>>> (I'm trying to consume Salesforce.com services through the
>>> partner.wsdl)
>>>
>>> cxf generated code of one service's methods :
>>>
>>>   @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
>>>   @WebResult(name = "createResponse", targetNamespace = "urn:
>>> partner.soap.sforce.com", partName = "parameters")
>>>   @WebMethod
>>>   public CreateResponse create(
>>>       @WebParam(partName = "parameters", name = "create",
>>> targetNamespace
>>> = "urn:partner.soap.sforce.com")
>>>       Create parameters,
>>>       @WebParam(partName = "DebuggingInfo", mode =
>>> WebParam.Mode.INOUT,
>>> name = "DebuggingInfo", targetNamespace =
>>> "urn:partner.soap.sforce.com",
>>> header = true)
>>>       javax.xml.ws.Holder<DebuggingInfo> debuggingInfo,
>>>       @WebParam(partName = "DebuggingHeader", mode =
>>> WebParam.Mode.INOUT,
>>> name = "DebuggingHeader", targetNamespace = "urn:partner.soap.sforce.com
>>> ",
>>> header = true)
>>>       javax.xml.ws.Holder<DebuggingHeader> debuggingHeader,
>>>       @WebParam(partName = "MruHeader", mode = WebParam.Mode.INOUT,
>>> name =
>>> "MruHeader", targetNamespace = "urn:partner.soap.sforce.com", header
>>> = true)
>>>       javax.xml.ws.Holder<MruHeader> mruHeader,
>>>       @WebParam(partName = "QueryOptions", mode =
>>> WebParam.Mode.INOUT,
>>> name = "QueryOptions", targetNamespace =
>>> "urn:partner.soap.sforce.com")
>>>       javax.xml.ws.Holder<QueryOptions> queryOptions,
>>>       @WebParam(partName = "LocaleOptions", mode =
>>> WebParam.Mode.INOUT,
>>> name = "LocaleOptions", targetNamespace =
>>> "urn:partner.soap.sforce.com")
>>>       javax.xml.ws.Holder<LocaleOptions> localeOptions,
>>>       @WebParam(partName = "EmailHeader", mode =
>>> WebParam.Mode.INOUT, name
>>> = "EmailHeader", targetNamespace = "urn:partner.soap.sforce.com",
>>> header =
>>> true)
>>>       javax.xml.ws.Holder<EmailHeader> emailHeader,
>>>       @WebParam(partName = "UserTerritoryDeleteHeader", mode =
>>> WebParam.Mode.INOUT, name = "UserTerritoryDeleteHeader",
>>> targetNamespace =
>>> "urn:partner.soap.sforce.com")
>>>       javax.xml.ws.Holder<UserTerritoryDeleteHeader>
>>> userTerritoryDeleteHeader,
>>>       @WebParam(partName = "LoginScopeHeader", mode =
>>> WebParam.Mode.INOUT,
>>> name = "LoginScopeHeader", targetNamespace = "urn:partner.soap.sforce.com
>>> ")
>>>       javax.xml.ws.Holder<LoginScopeHeader> loginScopeHeader,
>>>       @WebParam(partName = "AssignmentRuleHeader", mode =
>>> WebParam.Mode.INOUT, name = "AssignmentRuleHeader", targetNamespace
>>> = "urn:
>>> partner.soap.sforce.com", header = true)
>>>       javax.xml.ws.Holder<AssignmentRuleHeader>  
>>> assignmentRuleHeader,
>>>       @WebParam(partName = "SessionHeader", mode =
>>> WebParam.Mode.INOUT,
>>> name = "SessionHeader", targetNamespace =
>>> "urn:partner.soap.sforce.com",
>>> header = true)
>>>       javax.xml.ws.Holder<SessionHeader> sessionHeader,
>>>       @WebParam(partName = "CallOptions", mode =
>>> WebParam.Mode.INOUT, name
>>> = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com",
>>> header =
>>> true)
>>>       javax.xml.ws.Holder<CallOptions> callOptions
>>>   ) throws UnexpectedErrorFault, InvalidIdFault, InvalidFieldFault,
>>> InvalidSObjectFault;
>>>
>>>
>>> The outbound message when calling this :
>>>
>>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/ 
>>> envelope/">
>>>   <soap:Header>
>>>       <SessionHeader xmlns:ns3="urn:fault.partner.soap.sforce.com"
>>>           xmlns:ns2="urn:sobject.partner.soap.sforce.com"
>>>           xmlns="urn:partner.soap.sforce.com">
>>>           <sessionId>
>>>
>>> 460200D70000000IQeW!
>>> AQ0AQG9d9iqlIIAaw_R3H15rJHfrf_GMj12ETIp8f
>>> .BsCplX0KwaHrJLGoEFaAMeoy4y_PPppcX2uXItleMLbVJF24uof0MI
>>>           </sessionId>
>>>       </SessionHeader>
>>>   </soap:Header>
>>>   <soap:Body>
>>>       <create xmlns="urn:partner.soap.sforce.com"
>>>           xmlns:ns2="urn:sobject.partner.soap.sforce.com"
>>>           xmlns:ns3="urn:fault.partner.soap.sforce.com">
>>>           <sObjects>
>>>               <ns2:Id
>>>                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
>>> "
>>>                   xsi:nil="true" />
>>>               <ns2:type xmlns="urn:sobject.partner.soap.sforce.com">
>>>                   Contact
>>>               </ns2:type>
>>>               <ns2:birthdate
>>>                   xmlns="urn:sobject.partner.soap.sforce.com">
>>>                   2008-05-142
>>>               </ns2:birthdate>
>>>               <ns2:firstName
>>>                   xmlns="urn:sobject.partner.soap.sforce.com">
>>>                   testConvert
>>>               </ns2:firstName>
>>>               <ns2:lastName
>>>                   xmlns="urn:sobject.partner.soap.sforce.com">
>>>                   testLastConvert
>>>               </ns2:lastName>
>>>           </sObjects>
>>>       </create>
>>>   </soap:Body>
>>> </soap:Envelope>
>>>
>>> The Salesforce.com server response :
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <soapenv:Envelope
>>>   xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>>>   xmlns="urn:partner.soap.sforce.com">
>>>   <soapenv:Body>
>>>       <createResponse>
>>>           <result>
>>>               <id>0037000000YgDckAAF</id>
>>>               <success>true</success>
>>>           </result>
>>>       </createResponse>
>>>   </soapenv:Body>
>>> </soapenv:Envelope>
>>>
>>> => no problem, my Contact is create in Salesforce.com
>>>
>>> But an IndexOutOfBoundsException is thrown (same stack as in je jira
>>> issue)
>>> :
>>>
>>> Interceptor has thrown exception, unwinding now
>>> java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
>>>   at java.util.ArrayList.RangeCheck(ArrayList.java:546)
>>>   at java.util.ArrayList.get(ArrayList.java:321)
>>>   at
>>> org
>>> .apache 
>>> .cxf.message.MessageContentsList.get(MessageContentsList.java:
>>> 79)
>>>   at
>>> org
>>> .apache
>>> .cxf
>>> .jaxws
>>> .interceptors
>>> .HolderInInterceptor.handleMessage(HolderInInterceptor.java:64)
>>>   at
>>> org
>>> .apache
>>> .cxf
>>> .phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:
>>> 221)
>>>   at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:
>>> 429)
>>>   at
>>> org.apache.cxf.transport.http.HTTPConduit
>>> $WrappedOutputStream.handleResponse(HTTPConduit.java:1988)
>>>   at
>>> org.apache.cxf.transport.http.HTTPConduit
>>> $WrappedOutputStream.close(HTTPConduit.java:1824)
>>>   at
>>> org
>>> .apache
>>> .cxf
>>> .io
>>> .CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:
>>> 47)
>>>   at
>>> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:
>>> 159)
>>>   at
>>> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:
>>> 66)
>>>   at
>>> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java: 
>>> 583)
>>>   at
>>> org.apache.cxf.interceptor.MessageSenderInterceptor
>>> $
>>> MessageSenderEndingInterceptor
>>> .handleMessage(MessageSenderInterceptor.java:62)
>>>   at
>>> org
>>> .apache
>>> .cxf
>>> .phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:
>>> 221)
>>>   at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
>>>   at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
>>>   at
>>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>>>   at
>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:
>>> 178)
>>>
>>>
>>> TYIA  for your great work Daniel !
>>>
>>> Gaël
>>>
>>>
>>>
>>> 2008/5/20, Daniel Kulp <dk...@apache.org>:
>>>>
>>>>
>>>> This error is pretty different.....   Does the message have headers
>>>> in it?
>>>>
>>>> I THINK I may have this fixed now.   I'm going to deploy a new
>>>> snapshot
>>>> tonight.   If you could retry with that snapshot tomorrow morning,
>>>> that
>>>> would be great.
>>>>
>>>>
>>>> Dan
>>>>
>>>>
>>>>
>>>>
>>>> On May 18, 2008, at 1:51 PM, XeN0s wrote:
>>>>
>>>>
>>>>> Hi,
>>>>> I'm using cxf 2.1 and I have the same error although  I consume my
>>>>> webservice well (I receive I soap message from the server that
>>>>> notify me
>>>>> the
>>>>> operation's success on the server side).
>>>>>
>>>>> And the error I don't understand is :
>>>>>
>>>>> 18 mai 2008 19:49:45 org.apache.cxf.phase.PhaseInterceptorChain
>>>>> doIntercept
>>>>> INFO: Interceptor has thrown exception, unwinding now
>>>>> java.lang.NullPointerException
>>>>>      at
>>>>>
>>>>> org
>>>>> .apache
>>>>> .cxf
>>>>> .jaxws
>>>>> .interceptors
>>>>> .HolderInInterceptor.handleMessage(HolderInInterceptor.java:64)
>>>>>      at
>>>>>
>>>>> org
>>>>> .apache
>>>>> .cxf
>>>>> .phase
>>>>> .PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>>>>>      at
>>>>> org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:429)
>>>>>      at
>>>>>
>>>>> org.apache.cxf.transport.http.HTTPConduit
>>>>> $WrappedOutputStream.handleResponse(HTTPConduit.java:1988)
>>>>>      at
>>>>>
>>>>> org.apache.cxf.transport.http.HTTPConduit
>>>>> $WrappedOutputStream.close(HTTPConduit.java:1824)
>>>>>      at
>>>>>
>>>>> org
>>>>> .apache
>>>>> .cxf
>>>>> .io
>>>>> .CacheAndWriteOutputStream
>>>>> .postClose(CacheAndWriteOutputStream.java:47)
>>>>>      at
>>>>> org 
>>>>> .apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:
>>>>> 159)
>>>>>      at
>>>>> org
>>>>> .apache.cxf.transport.AbstractConduit.close(AbstractConduit.java: 
>>>>> 66)
>>>>>      at
>>>>> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:
>>>>> 583)
>>>>>      at
>>>>>
>>>>> org.apache.cxf.interceptor.MessageSenderInterceptor
>>>>> $
>>>>> MessageSenderEndingInterceptor
>>>>> .handleMessage(MessageSenderInterceptor.java:62)
>>>>>      at
>>>>>
>>>>> org
>>>>> .apache
>>>>> .cxf
>>>>> .phase
>>>>> .PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>>>>>      at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:
>>>>> 276)
>>>>>      at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:
>>>>> 222)
>>>>>      at
>>>>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java: 
>>>>> 73)
>>>>>      at
>>>>> org 
>>>>> .apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:
>>>>> 177)
>>>>>      at $Proxy42.create(Unknown Source)
>>>>>      at com.avs.sforce.connection.SFClient.create(SFClient.java:
>>>>> 165)
>>>>>      at
>>>>>
>>>>> com.avs.sforce.connection.SFClient$$FastClassByCGLIB$
>>>>> $4e83e795.invoke(<generated>)
>>>>>      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java: 
>>>>> 149)
>>>>>      at
>>>>>
>>>>> org.springframework.aop.framework.Cglib2AopProxy
>>>>> $CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:694)
>>>>>      at
>>>>>
>>>>> org
>>>>> .springframework
>>>>> .aop
>>>>> .framework
>>>>> .ReflectiveMethodInvocation
>>>>> .proceed(ReflectiveMethodInvocation.java:149)
>>>>>      at
>>>>>
>>>>> org
>>>>> .springframework
>>>>> .aop
>>>>> .aspectj
>>>>> .MethodInvocationProceedingJoinPoint
>>>>> .proceed(MethodInvocationProceedingJoinPoint.java:77)
>>>>>      at
>>>>> com.avs.sforce.connection.AspectRetry.retry(AspectRetry.java:40)
>>>>>      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
>>>>> .springframework
>>>>> .aop
>>>>> .aspectj
>>>>> .AbstractAspectJAdvice
>>>>> .invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:597)
>>>>>      at
>>>>>
>>>>> org
>>>>> .springframework
>>>>> .aop
>>>>> .aspectj
>>>>> .AbstractAspectJAdvice
>>>>> .invokeAdviceMethod(AbstractAspectJAdvice.java:583)
>>>>>      at
>>>>>
>>>>> org
>>>>> .springframework
>>>>> .aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java: 
>>>>> 60)
>>>>>      at
>>>>>
>>>>> org
>>>>> .springframework
>>>>> .aop
>>>>> .framework
>>>>> .ReflectiveMethodInvocation
>>>>> .proceed(ReflectiveMethodInvocation.java:171)
>>>>>      at
>>>>>
>>>>> org
>>>>> .springframework
>>>>> .aop
>>>>> .interceptor
>>>>> .ExposeInvocationInterceptor
>>>>> .invoke(ExposeInvocationInterceptor.java:89)
>>>>>      at
>>>>>
>>>>> org
>>>>> .springframework
>>>>> .aop
>>>>> .framework
>>>>> .ReflectiveMethodInvocation
>>>>> .proceed(ReflectiveMethodInvocation.java:171)
>>>>>      at
>>>>>
>>>>> org.springframework.aop.framework.Cglib2AopProxy
>>>>> $DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:629)
>>>>>      at
>>>>>
>>>>> com.avs.sforce.connection.SFClient$$EnhancerByCGLIB$
>>>>> $d81710b6.create(<generated>)
>>>>>      at com.avs.test.TestConversion.main(TestConversion.java:32)
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/Is-cxf-no-tcompatible-with-XML-beans-tp17271898p17305733.html
>>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>> ---
>>>> Daniel Kulp
>>>> dkulp@apache.org
>>>> http://www.dankulp.com/blog
>>>>
>>>>
>>>>
>>>>
>>>>
>>
>> ---
>> Daniel Kulp
>> dkulp@apache.org
>> http://www.dankulp.com/blog
>>
>>
>>
>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/Is-cxf-no-tcompatible-with-XML-beans-tp17271898p17516630.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>

---
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog





Re: salesforce.com wsdl (was: Is cxf no tcompatible with XML beans)

Posted by XeN0s <ga...@gmail.com>.
Sorry, I wasn't notified that you answered the mail list, and I was so busy I
forgot to have a look to it.
So, like I said, the modifications you made
(http://issues.apache.org/jira/browse/CXF-1600 actually !) work great ! I
had to regenerated the classes and edited my client code (not a big deal,
and it's prettier now ;-)).

Today, I tried to regenerate the classes without jaxb binding configuration
file, but I didn't manage :
"WSDLToJava Error: Thrown by JAXB : A class/interface with the same name
"com.sfo
rce.soap.partner.DescribeLayout" is already in use. Use a class
customization to
 resolve this conflict."

I still had to use my binding file to suffix all type names by "Type", but
it's not very convenient in generated classes..
Am I missing something while generating client with : "wsdl2java -exsh true
partner.wsdl" ?

Thanks a lot Dan and sorry for the "hudge jet lag !"

Gaël




dkulp wrote:
> 
> 
> OK.   This is actually a code generations problem:
> http://issues.apache.org/jira/browse/CXF-1600
> 
> I created a salesforce.com developer account for myself today and  
> played with the wsdl a bit.   I downloaded their "jaxws 2.1" sample  
> pack thing and modified their QuickStart client to work with CXF.
> 
> The first thing I did was:
> http://issues.apache.org/jira/browse/CXF-1601
> to allow me to not have to create a JAXB customization file.   :-)
> 
> Then I noticed the method signatures aren't correct.   Most of those  
> parameters on the methods are not supposed to be there.   That's  
> CXF-1600.   I just fixed that and committed the changes.    With that  
> fixed, I can use the modified QuickStart to login, get the server  
> timestamp, list the accounts, and update and account.   Thus, I think  
> it's now working OK.
> 
> In anycase, I'm deploying a new snapshot now.   In another hour or so,  
> it should be up.   If you can give that a try, that would be great.    
> The fix for 1600 WILL change all the method signatures to remove the  
> "headers" that aren't applicable to that method.   Thus, you will need  
> to modify your client code a bit.   However, it's probably a good thing.
> 
> Dan
> 
> 
> 
> On May 21, 2008, at 4:20 AM, Gaël LAZZARI wrote:
> 
>> Hi Daniel, thanks for your help !
>> Yes, the error was very different. I actually use SOAP header in my  
>> outbound
>> Messages. The NullPointerException was my fault, but when I fixed  
>> it, the
>> HolderInInterceptor throw a IndexOutOfBoundsException when calling the
>> MessageContentsList.getContentsList(message).get(MessagePartInfo  
>> part),
>> where the parts are got from the SOAP output message.
>>
>> So I tried this morning with the "apache-cxf-2.1.1-20080520.211236-4"
>> snapshot, the same error has been thrown.
>>
>> A Jira issue has already been posted (
>> https://issues.apache.org/jira/browse/CXF-1568), and I just saw that  
>> it was
>> assigned to you today !
>>
>> I send you here my client code and the generated SOAP message which  
>> is ok,
>> maybe it can help you !
>> (I'm trying to consume Salesforce.com services through the  
>> partner.wsdl)
>>
>> cxf generated code of one service's methods :
>>
>>    @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
>>    @WebResult(name = "createResponse", targetNamespace = "urn:
>> partner.soap.sforce.com", partName = "parameters")
>>    @WebMethod
>>    public CreateResponse create(
>>        @WebParam(partName = "parameters", name = "create",  
>> targetNamespace
>> = "urn:partner.soap.sforce.com")
>>        Create parameters,
>>        @WebParam(partName = "DebuggingInfo", mode =  
>> WebParam.Mode.INOUT,
>> name = "DebuggingInfo", targetNamespace =  
>> "urn:partner.soap.sforce.com",
>> header = true)
>>        javax.xml.ws.Holder<DebuggingInfo> debuggingInfo,
>>        @WebParam(partName = "DebuggingHeader", mode =  
>> WebParam.Mode.INOUT,
>> name = "DebuggingHeader", targetNamespace = "urn:partner.soap.sforce.com 
>> ",
>> header = true)
>>        javax.xml.ws.Holder<DebuggingHeader> debuggingHeader,
>>        @WebParam(partName = "MruHeader", mode = WebParam.Mode.INOUT,  
>> name =
>> "MruHeader", targetNamespace = "urn:partner.soap.sforce.com", header  
>> = true)
>>        javax.xml.ws.Holder<MruHeader> mruHeader,
>>        @WebParam(partName = "QueryOptions", mode =  
>> WebParam.Mode.INOUT,
>> name = "QueryOptions", targetNamespace =  
>> "urn:partner.soap.sforce.com")
>>        javax.xml.ws.Holder<QueryOptions> queryOptions,
>>        @WebParam(partName = "LocaleOptions", mode =  
>> WebParam.Mode.INOUT,
>> name = "LocaleOptions", targetNamespace =  
>> "urn:partner.soap.sforce.com")
>>        javax.xml.ws.Holder<LocaleOptions> localeOptions,
>>        @WebParam(partName = "EmailHeader", mode =  
>> WebParam.Mode.INOUT, name
>> = "EmailHeader", targetNamespace = "urn:partner.soap.sforce.com",  
>> header =
>> true)
>>        javax.xml.ws.Holder<EmailHeader> emailHeader,
>>        @WebParam(partName = "UserTerritoryDeleteHeader", mode =
>> WebParam.Mode.INOUT, name = "UserTerritoryDeleteHeader",  
>> targetNamespace =
>> "urn:partner.soap.sforce.com")
>>        javax.xml.ws.Holder<UserTerritoryDeleteHeader>
>> userTerritoryDeleteHeader,
>>        @WebParam(partName = "LoginScopeHeader", mode =  
>> WebParam.Mode.INOUT,
>> name = "LoginScopeHeader", targetNamespace = "urn:partner.soap.sforce.com 
>> ")
>>        javax.xml.ws.Holder<LoginScopeHeader> loginScopeHeader,
>>        @WebParam(partName = "AssignmentRuleHeader", mode =
>> WebParam.Mode.INOUT, name = "AssignmentRuleHeader", targetNamespace  
>> = "urn:
>> partner.soap.sforce.com", header = true)
>>        javax.xml.ws.Holder<AssignmentRuleHeader> assignmentRuleHeader,
>>        @WebParam(partName = "SessionHeader", mode =  
>> WebParam.Mode.INOUT,
>> name = "SessionHeader", targetNamespace =  
>> "urn:partner.soap.sforce.com",
>> header = true)
>>        javax.xml.ws.Holder<SessionHeader> sessionHeader,
>>        @WebParam(partName = "CallOptions", mode =  
>> WebParam.Mode.INOUT, name
>> = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com",  
>> header =
>> true)
>>        javax.xml.ws.Holder<CallOptions> callOptions
>>    ) throws UnexpectedErrorFault, InvalidIdFault, InvalidFieldFault,
>> InvalidSObjectFault;
>>
>>
>> The outbound message when calling this :
>>
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>>    <soap:Header>
>>        <SessionHeader xmlns:ns3="urn:fault.partner.soap.sforce.com"
>>            xmlns:ns2="urn:sobject.partner.soap.sforce.com"
>>            xmlns="urn:partner.soap.sforce.com">
>>            <sessionId>
>>
>> 460200D70000000IQeW! 
>> AQ0AQG9d9iqlIIAaw_R3H15rJHfrf_GMj12ETIp8f 
>> .BsCplX0KwaHrJLGoEFaAMeoy4y_PPppcX2uXItleMLbVJF24uof0MI
>>            </sessionId>
>>        </SessionHeader>
>>    </soap:Header>
>>    <soap:Body>
>>        <create xmlns="urn:partner.soap.sforce.com"
>>            xmlns:ns2="urn:sobject.partner.soap.sforce.com"
>>            xmlns:ns3="urn:fault.partner.soap.sforce.com">
>>            <sObjects>
>>                <ns2:Id
>>                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance 
>> "
>>                    xsi:nil="true" />
>>                <ns2:type xmlns="urn:sobject.partner.soap.sforce.com">
>>                    Contact
>>                </ns2:type>
>>                <ns2:birthdate
>>                    xmlns="urn:sobject.partner.soap.sforce.com">
>>                    2008-05-142
>>                </ns2:birthdate>
>>                <ns2:firstName
>>                    xmlns="urn:sobject.partner.soap.sforce.com">
>>                    testConvert
>>                </ns2:firstName>
>>                <ns2:lastName
>>                    xmlns="urn:sobject.partner.soap.sforce.com">
>>                    testLastConvert
>>                </ns2:lastName>
>>            </sObjects>
>>        </create>
>>    </soap:Body>
>> </soap:Envelope>
>>
>> The Salesforce.com server response :
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <soapenv:Envelope
>>    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>>    xmlns="urn:partner.soap.sforce.com">
>>    <soapenv:Body>
>>        <createResponse>
>>            <result>
>>                <id>0037000000YgDckAAF</id>
>>                <success>true</success>
>>            </result>
>>        </createResponse>
>>    </soapenv:Body>
>> </soapenv:Envelope>
>>
>> => no problem, my Contact is create in Salesforce.com
>>
>> But an IndexOutOfBoundsException is thrown (same stack as in je jira  
>> issue)
>> :
>>
>> Interceptor has thrown exception, unwinding now
>> java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
>>    at java.util.ArrayList.RangeCheck(ArrayList.java:546)
>>    at java.util.ArrayList.get(ArrayList.java:321)
>>    at
>> org 
>> .apache.cxf.message.MessageContentsList.get(MessageContentsList.java: 
>> 79)
>>    at
>> org 
>> .apache 
>> .cxf 
>> .jaxws 
>> .interceptors 
>> .HolderInInterceptor.handleMessage(HolderInInterceptor.java:64)
>>    at
>> org 
>> .apache 
>> .cxf 
>> .phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java: 
>> 221)
>>    at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java: 
>> 429)
>>    at
>> org.apache.cxf.transport.http.HTTPConduit 
>> $WrappedOutputStream.handleResponse(HTTPConduit.java:1988)
>>    at
>> org.apache.cxf.transport.http.HTTPConduit 
>> $WrappedOutputStream.close(HTTPConduit.java:1824)
>>    at
>> org 
>> .apache 
>> .cxf 
>> .io 
>> .CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java: 
>> 47)
>>    at
>> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java: 
>> 159)
>>    at
>> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java: 
>> 66)
>>    at  
>> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:583)
>>    at
>> org.apache.cxf.interceptor.MessageSenderInterceptor 
>> $ 
>> MessageSenderEndingInterceptor 
>> .handleMessage(MessageSenderInterceptor.java:62)
>>    at
>> org 
>> .apache 
>> .cxf 
>> .phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java: 
>> 221)
>>    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
>>    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
>>    at  
>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>>    at
>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java: 
>> 178)
>>
>>
>> TYIA  for your great work Daniel !
>>
>> Gaël
>>
>>
>>
>> 2008/5/20, Daniel Kulp <dk...@apache.org>:
>>>
>>>
>>> This error is pretty different.....   Does the message have headers  
>>> in it?
>>>
>>> I THINK I may have this fixed now.   I'm going to deploy a new  
>>> snapshot
>>> tonight.   If you could retry with that snapshot tomorrow morning,  
>>> that
>>> would be great.
>>>
>>>
>>> Dan
>>>
>>>
>>>
>>>
>>> On May 18, 2008, at 1:51 PM, XeN0s wrote:
>>>
>>>
>>>> Hi,
>>>> I'm using cxf 2.1 and I have the same error although  I consume my
>>>> webservice well (I receive I soap message from the server that  
>>>> notify me
>>>> the
>>>> operation's success on the server side).
>>>>
>>>> And the error I don't understand is :
>>>>
>>>> 18 mai 2008 19:49:45 org.apache.cxf.phase.PhaseInterceptorChain
>>>> doIntercept
>>>> INFO: Interceptor has thrown exception, unwinding now
>>>> java.lang.NullPointerException
>>>>       at
>>>>
>>>> org 
>>>> .apache 
>>>> .cxf 
>>>> .jaxws 
>>>> .interceptors 
>>>> .HolderInInterceptor.handleMessage(HolderInInterceptor.java:64)
>>>>       at
>>>>
>>>> org 
>>>> .apache 
>>>> .cxf 
>>>> .phase 
>>>> .PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>>>>       at
>>>> org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:429)
>>>>       at
>>>>
>>>> org.apache.cxf.transport.http.HTTPConduit 
>>>> $WrappedOutputStream.handleResponse(HTTPConduit.java:1988)
>>>>       at
>>>>
>>>> org.apache.cxf.transport.http.HTTPConduit 
>>>> $WrappedOutputStream.close(HTTPConduit.java:1824)
>>>>       at
>>>>
>>>> org 
>>>> .apache 
>>>> .cxf 
>>>> .io 
>>>> .CacheAndWriteOutputStream 
>>>> .postClose(CacheAndWriteOutputStream.java:47)
>>>>       at
>>>> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java: 
>>>> 159)
>>>>       at
>>>> org 
>>>> .apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>>>>       at
>>>> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java: 
>>>> 583)
>>>>       at
>>>>
>>>> org.apache.cxf.interceptor.MessageSenderInterceptor 
>>>> $ 
>>>> MessageSenderEndingInterceptor 
>>>> .handleMessage(MessageSenderInterceptor.java:62)
>>>>       at
>>>>
>>>> org 
>>>> .apache 
>>>> .cxf 
>>>> .phase 
>>>> .PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>>>>       at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java: 
>>>> 276)
>>>>       at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java: 
>>>> 222)
>>>>       at
>>>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>>>>       at
>>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java: 
>>>> 177)
>>>>       at $Proxy42.create(Unknown Source)
>>>>       at com.avs.sforce.connection.SFClient.create(SFClient.java: 
>>>> 165)
>>>>       at
>>>>
>>>> com.avs.sforce.connection.SFClient$$FastClassByCGLIB$ 
>>>> $4e83e795.invoke(<generated>)
>>>>       at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
>>>>       at
>>>>
>>>> org.springframework.aop.framework.Cglib2AopProxy 
>>>> $CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:694)
>>>>       at
>>>>
>>>> org 
>>>> .springframework 
>>>> .aop 
>>>> .framework 
>>>> .ReflectiveMethodInvocation 
>>>> .proceed(ReflectiveMethodInvocation.java:149)
>>>>       at
>>>>
>>>> org 
>>>> .springframework 
>>>> .aop 
>>>> .aspectj 
>>>> .MethodInvocationProceedingJoinPoint 
>>>> .proceed(MethodInvocationProceedingJoinPoint.java:77)
>>>>       at  
>>>> com.avs.sforce.connection.AspectRetry.retry(AspectRetry.java:40)
>>>>       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 
>>>> .springframework 
>>>> .aop 
>>>> .aspectj 
>>>> .AbstractAspectJAdvice 
>>>> .invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:597)
>>>>       at
>>>>
>>>> org 
>>>> .springframework 
>>>> .aop 
>>>> .aspectj 
>>>> .AbstractAspectJAdvice 
>>>> .invokeAdviceMethod(AbstractAspectJAdvice.java:583)
>>>>       at
>>>>
>>>> org 
>>>> .springframework 
>>>> .aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:60)
>>>>       at
>>>>
>>>> org 
>>>> .springframework 
>>>> .aop 
>>>> .framework 
>>>> .ReflectiveMethodInvocation 
>>>> .proceed(ReflectiveMethodInvocation.java:171)
>>>>       at
>>>>
>>>> org 
>>>> .springframework 
>>>> .aop 
>>>> .interceptor 
>>>> .ExposeInvocationInterceptor 
>>>> .invoke(ExposeInvocationInterceptor.java:89)
>>>>       at
>>>>
>>>> org 
>>>> .springframework 
>>>> .aop 
>>>> .framework 
>>>> .ReflectiveMethodInvocation 
>>>> .proceed(ReflectiveMethodInvocation.java:171)
>>>>       at
>>>>
>>>> org.springframework.aop.framework.Cglib2AopProxy 
>>>> $DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:629)
>>>>       at
>>>>
>>>> com.avs.sforce.connection.SFClient$$EnhancerByCGLIB$ 
>>>> $d81710b6.create(<generated>)
>>>>       at com.avs.test.TestConversion.main(TestConversion.java:32)
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Is-cxf-no-tcompatible-with-XML-beans-tp17271898p17305733.html
>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>
>>>>
>>> ---
>>> Daniel Kulp
>>> dkulp@apache.org
>>> http://www.dankulp.com/blog
>>>
>>>
>>>
>>>
>>>
> 
> ---
> Daniel Kulp
> dkulp@apache.org
> http://www.dankulp.com/blog
> 
> 
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Is-cxf-no-tcompatible-with-XML-beans-tp17271898p17516630.html
Sent from the cxf-user mailing list archive at Nabble.com.