You need to sign in to do that
Don't have an account?
WebLogic "clientgen" + Partner WSDL problems
Here's the error message that we're encountering:
generate-client:
[clientgen] Generating client jar for d:\temp\salesforce\partner.wsdl ...
[clientgen] WARNING: Unable to fully map
['urn:sobject.partner.soap.sforce.com']:sObject using
javax.xml.soap.SOAPElement
…<many more similar warnings>
The sObject definition in the partner.wsdl has:
<complexType
name="sObject">
<sequence>
<element name="type" type="xsd:string"/>
<element name="fieldsToNull"
type="xsd:string"
nillable="true" minOccurs="0" maxOccurs="unbounded"/>
<element name="Id" type="tns:ID" nillable="true"/>
<any namespace="##targetNamespace" minOccurs="0"
maxOccurs="unbounded"
processContents="lax"/>
</sequence>
</complexType>
I think that “<any>” tag is only supported in JAX-RPC Spec 1.1 (at least that’s what this thread implies: http://forums.bea.com/bea/message.jspa?messageID=400007979&tstart=60 ). And to get support for JAX-RPC Spec 1.1, we’d have to upgrade to Weblogic 9.X, which is not currently an option.
http://ws.apache.org/axis/java/install.html#ThingsYouHaveToKnow . Under the Weblogic 8.1 heading, it states that there are conflicts between using Axis and Weblogic in the same web application:
WebLogic 8.1
WebLogic 8.1 ships with
webservices.jar
that conflicts with Axis'saaj.jar
and prevents Axis 1.4 from working right out of the box. This conflict exists because WebLogic uses an older definition ofjavax.xml.soap.*
package from Java Web Services Developer Pack Version 1.0, whereas Axis uses a newer revision from J2EE 1.4.However, there are two alternative configuration changes that enable Axis based web services to run on Weblogic 8.1.
WEB-INF/weblogic.xml
to true. An example ofweblogic.xml
is shown below:· <weblogic-web-app>
· <container-descriptor>
· <prefer-web-inf-classes>true</prefer-web-inf-classes>
· </container-descriptor>
· </weblogic-web-app>
If set to
true
, the<prefer-web-inf-classes>
element will force WebLogic's classloader to load classes located in the WEB-INF directory of a web application in preference to application or system classes. This is a recommended approach since it only impacts a single web module.CLASSPATH
property by placing Axis'ssaaj.jar
library in front of WeLlogic'swebservices.jar
. NOTE: This approach impacts all applications deployed on a particular WebLogic instance and may prevent them from using WebLogic's webservices.…So it sounds like I cannot have a single web application that sometimes uses Weblogic’s implementation of webservices (from bea’s webservices.jar) and sometimes uses Axis.