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 <[EMAIL PROTECTED]>:


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
[EMAIL PROTECTED]
http://www.dankulp.com/blog






---
Daniel Kulp
[EMAIL PROTECTED]
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
[EMAIL PROTECTED]
http://www.dankulp.com/blog




Reply via email to