Nested class path element in ANT task
I am having some problems with the nested classpath element in the
enhancer ANT task. Does anyone else use this? If so can you share your
config with me.
class loader could not resolve the class name "XYZ"
sean.
Sean Hager wrote:
I am having some problems with the nested classpath element in the
enhancer ANT task. Does anyone else use this? If so can you share your
config with me.
class loader could not resolve the class name "XYZ"Impossible to say what your error means without looking at your build.xml.
My enhancer task looks like:
<taskdef name="jdoc" classpathref="eclipse.classpath"
classname="com.solarmetric.modules.integration.ant.JDOEnhancerTask"/>
<jdoc>
<fileset dir="${src.dir}">
<include name="**/*.jdo" />
</fileset>
<fileset dir="${testsrc.dir}">
<include name="**/*.jdo" />
</fileset>
<classpath>
<pathelement location="bin/"/>
<path refid="eclipse.classpath"/>
</classpath>
</jdoc>
Hope that helps.
Tom
Similar Messages
-
Class generated by genInterface ant task does not compile
I am trying to build a web service from existing wsdl using genInterface and topDownAssemble ant tasks.
The wsdl contains following type definition. Java class generated from this type (see below) does not compile. The problem is that there are two class members named
'value'. Is this an issue with Web Services Assembly tool or there is some way to get
around it?
<s:simpleType name="quantityType">
<s:restriction base="s:string">
<s:enumeration value="summation"/>
<s:enumeration value="demand"/>
<s:enumeration value="value"/>
<s:enumeration value="consumption"/>
</s:restriction>
</s:simpleType>
// Version = Oracle WebServices (10.1.3.3.0, build 070610.1800.23513)
public class QuantityType implements java.io.Serializable {
private java.lang.String value;
private static final String _summationString = "summation";
private static final String _demandString = "demand";
private static final String _valueString = "value";
private static final String _consumptionString = "consumption";
public static final java.lang.String summation = new java.lang.String(summationString);
public static final java.lang.String demand = new java.lang.String(demandString);
public static final java.lang.String value = new java.lang.String(valueString);
public static final java.lang.String consumption = new java.lang.String(consumptionString);
public static final QuantityType summation = new QuantityType(_summation);
public static final QuantityType demand = new QuantityType(_demand);
public static final QuantityType value = new QuantityType(_value);
public static final QuantityType consumption = new QuantityType(_consumption);
AndreiPls set debug attribute of JWSC ant task to true or on, e.g.
<jwsc srcdir="." destdir="${output.dir}" debug="on" keepGenerated="true">
</jwsc> -
JWSC Ant task with JAXWS web services failed
Hi,
I do not manage to generate my JAXWS web services using jwsc ant task. It worked when my web services were JAX-RPC web services but now I have an error.
In my build process, I generate first the web service artifacts from wsdl files using wsdlc :
<path id="bea-ant-task.classpath">
<pathelement location="${java.home}/../lib/tools.jar" />
<fileset dir="${bea.home.dir}/wlserver_10.0/server/lib"/>
<fileset dir="${bea.home.dir}/modules"/>
</path>
<taskdef name="wsdlc" classname="weblogic.wsee.tools.anttasks.WsdlcTask">
<classpath refid="bea-ant-task.classpath" />
</taskdef>
<target name="generate-artifacts">
<wsdlc type="JAXWS" srcWsdl="${build.wsdl.dir}/AlarmWS.wsdl" destJwsDir="${build.artifacts.jar.dir}" />
<wsdlc type="JAXWS" srcWsdl="${build.wsdl.dir}/AlertWS.wsdl" destJwsDir="${build.artifacts.jar.dir}" />
</target>Then I tried to generate my web services with jwsc :
<taskdef name="jwsc" classname="weblogic.wsee.tools.anttasks.JwscTask">
<classpath refid="bea-ant-task.classpath" />
</taskdef>
<target name="generate-webservices">
<jwsc srcdir="src" destdir="${ear.dir}" keepGenerated="yes" classpathref="compile.classpath" >
<module contextpath="myappli" name="webservices.jar" explode="true">
<jws type="JAXWS" file="${myappli.path}/alarm/jwsendpoint/AlarmBean.java" compiledWsdl="${build.artifacts.jar.dir}/AlarmWS_wsdl.jar"/>
<jws type="JAXWS" file="${myappli.path}/alert/jwsendpoint/AlertBean.java" compiledWsdl="${build.artifacts.jar.dir}/AlertWS_wsdl.jar"/>
</module>
</jwsc>
</target>This task generate the following error :
generate-webservices:
[jwsc] JWS: processing module webservices.jar
[jwsc] Parsing source files
[jwsc] Parsing source files
[jwsc] 2 JWS files being processed for module webservices.jar
[jwsc] JWS: C:\projects\appli\main\src\net\aze\appli\services\alarm\jwsendpoint\AlarmBean.java Validated.
[jwsc] JWS: C:\projects\appli\main\src\net\aze\appli\services\alert\jwsendpoint\AlertBean.java Validated.
[jwsc] Processing 2 JAX-WS web services...
[jwsc] warning: Annotation types without processors: [javax.ejb.Stateless, javax.annotation.Resource, javax.annotation.security.RolesAllowed]
[jwsc] C:\DOCUME~1\wg\LOCALS~1\Temp\_jg4rtr3\net\aze\appli\jws\alert\PTAlert.java:33: The endpoint interface net.aze.appli.jws.alarm.PTAlarm does not match the interface net.aze.appli.jws.alert.PTAlert.
[jwsc] public interface PTAlert {
[jwsc] ^
[jwsc] 1 error
[jwsc] 1 warning
[jwsc] Command invoked: apt C:\apps\bea10\JROCKI~1\jre\bin\java.exe -classpath C:\projects\appli\lib\common\caplib.jar;C:\pr......[pre]
C:\projects\aze\main\bea-build.xml:15: The following error occurred while executing this line:
C:\projects\aze\main\ant\bea-generate-webservices.xml:46: The following error occurred while executing this line:
C:\projects\aze\main\ant\bea-generate-webservices.xml:110: weblogic.wsee.tools.WsBuildException: Error processing JAX-WS web servicesHere is my bean implementation :
@Stateless()
@Resource(name = "jdbc/applids", mappedName = "applids", type = DataSource.class)
@WebService(endpointInterface = "net.aze.appli.jws.alarm.PTAlarm")
@HandlerChain(file = "../../../handler/alarmHandlerChain.xml")
@RolesAllowed({"anonym", "systemUser"})
public class AlarmBean implements PTAlarm {
@Resource
private SessionContext sessionContext;
public AlarmCreateOut persist(AlarmCreateIn in) {
return AlarmDelegate.getInstance(sessionContext).persist(in);
@Stateless()
@Resource(name = "jdbc/applids", mappedName = "applids", type = DataSource.class)
@WebService(endpointInterface = "net.aze.appli.jws.alert.PTAlert")
@RolesAllowed({"anonym", "systemUser"})
public class AlertBean implements PTAlert {
@Resource
private SessionContext sessionContext;
public AlertCreateOut persist(AlertCreateIn in) {
return AlertDelegate.getInstance(sessionContext).persist(in);
}Jwsc seems to mix the interfaces... If I try to generate only one bean in jwsc it works...
Any ideas? I can't find the solution, could it be a bug?
Thanks for your help.
Edited by will_mad at 09/11/2007 1:56 AMHi,
I do not manage to generate my JAXWS web services
using jwsc ant task. It worked when my web services
were JAX-RPC web services but now I have an error.
In my build process, I generate first the web service
artifacts from wsdl files using wsdlc :
<path id="bea-ant-task.classpath">
<pathelement location="${java.home}/../lib/tools.jar" />
<fileset dir="${bea.home.dir}/wlserver_10.0/server/lib"/>
<fileset dir="${bea.home.dir}/modules"/>
</path>
<taskdef name="wsdlc" classname="weblogic.wsee.tools.anttasks.WsdlcTask">
<classpath refid="bea-ant-task.classpath" />
</taskdef>
<target name="generate-artifacts">
<wsdlc type="JAXWS" srcWsdl="${build.wsdl.dir}/AlarmWS.wsdl" destJwsDir="${build.artifacts.jar.dir}" />
<wsdlc type="JAXWS" srcWsdl="${build.wsdl.dir}/AlertWS.wsdl" destJwsDir="${build.artifacts.jar.dir}" />
</target>Then I tried to generate my web services with jwsc :
<taskdef name="jwsc" classname="weblogic.wsee.tools.anttasks.JwscTask">
<classpath refid="bea-ant-task.classpath" />
</taskdef>
<target name="generate-webservices">
<jwsc srcdir="src" destdir="${ear.dir}" keepGenerated="yes" classpathref="compile.classpath" >
<module contextpath="myappli" name="webservices.jar" explode="true">
<jws type="JAXWS" file="${myappli.path}/alarm/jwsendpoint/AlarmBean.java" compiledWsdl="${build.artifacts.jar.dir}/AlarmWS_wsdl.jar"/>
<jws type="JAXWS" file="${myappli.path}/alert/jwsendpoint/AlertBean.java" compiledWsdl="${build.artifacts.jar.dir}/AlertWS_wsdl.jar"/>
</module>
</jwsc>
</target>This task generate the following error :
generate-webservices:
[jwsc] JWS: processing module webservices.jar
[jwsc] Parsing source files
[jwsc] Parsing source files
[jwsc] 2 JWS files being processed for module
odule webservices.jar
[jwsc] JWS:
JWS:
C:\projects\appli\main\src\net\aze\appli\services\alar
m\jwsendpoint\AlarmBean.java Validated.
[jwsc] JWS:
JWS:
C:\projects\appli\main\src\net\aze\appli\services\aler
t\jwsendpoint\AlertBean.java Validated.
[jwsc] Processing 2 JAX-WS web services...
[jwsc] warning: Annotation types without
thout processors: [javax.ejb.Stateless,
javax.annotation.Resource,
javax.annotation.security.RolesAllowed]
[jwsc]
jwsc]
C:\DOCUME~1\wg\LOCALS~1\Temp\_jg4rtr3\net\aze\appli\jw
s\alert\PTAlert.java:33: The endpoint interface
net.aze.appli.jws.alarm.PTAlarm does not match the
interface net.aze.appli.jws.alert.PTAlert.
[jwsc] public interface PTAlert {
[jwsc] ^
[jwsc] 1 error
[jwsc] 1 warning
[jwsc] Command invoked: apt
: apt C:\apps\bea10\JROCKI~1\jre\bin\java.exe
-classpath
C:\projects\appli\lib\common\caplib.jar;C:\pr......[pr
e]
C:\projects\aze\main\bea-build.xml:15: The following
error occurred while executing this line:
C:\projects\aze\main\ant\bea-generate-webservices.xml:
46: The following error occurred while executing this
line:
C:\projects\aze\main\ant\bea-generate-webservices.xml:
110: weblogic.wsee.tools.WsBuildException: Error
processing JAX-WS web servicesHere is my bean implementation :
@Stateless()
@Resource(name = "jdbc/applids", mappedName =
"applids", type = DataSource.class)
@WebService(endpointInterface =
"net.aze.appli.jws.alarm.PTAlarm")
@HandlerChain(file =
"../../../handler/alarmHandlerChain.xml")
@RolesAllowed({"anonym", "systemUser"})
public class AlarmBean implements PTAlarm {
@Resource
private SessionContext sessionContext;
public AlarmCreateOut persist(AlarmCreateIn in)
in) {
return
return
n
AlarmDelegate.getInstance(sessionContext).persist(in);
@Stateless()
@Resource(name = "jdbc/applids", mappedName =
"applids", type = DataSource.class)
@WebService(endpointInterface =
"net.aze.appli.jws.alert.PTAlert")
@RolesAllowed({"anonym", "systemUser"})
public class AlertBean implements PTAlert {
@Resource
private SessionContext sessionContext;
public AlertCreateOut persist(AlertCreateIn in)
in) {
return
return
n
AlertDelegate.getInstance(sessionContext).persist(in);
}Jwsc seems to mix the interfaces... If I try to
generate only one bean in jwsc it works...
Any ideas? I can't find the solution, could it be a
bug?
Thanks for your help.
Edited by will_mad at 09/11/2007 1:56 AM
Hi,
I do not manage to generate my JAXWS web services
using jwsc ant task. It worked when my web services
were JAX-RPC web services but now I have an error.
In my build process, I generate first the web service
artifacts from wsdl files using wsdlc :
<path id="bea-ant-task.classpath">
<pathelement location="${java.home}/../lib/tools.jar" />
<fileset dir="${bea.home.dir}/wlserver_10.0/server/lib"/>
<fileset dir="${bea.home.dir}/modules"/>
</path>
<taskdef name="wsdlc" classname="weblogic.wsee.tools.anttasks.WsdlcTask">
<classpath refid="bea-ant-task.classpath" />
</taskdef>
<target name="generate-artifacts">
<wsdlc type="JAXWS" srcWsdl="${build.wsdl.dir}/AlarmWS.wsdl" destJwsDir="${build.artifacts.jar.dir}" />
<wsdlc type="JAXWS" srcWsdl="${build.wsdl.dir}/AlertWS.wsdl" destJwsDir="${build.artifacts.jar.dir}" />
</target>Then I tried to generate my web services with jwsc :
<taskdef name="jwsc" classname="weblogic.wsee.tools.anttasks.JwscTask">
<classpath refid="bea-ant-task.classpath" />
</taskdef>
<target name="generate-webservices">
<jwsc srcdir="src" destdir="${ear.dir}" keepGenerated="yes" classpathref="compile.classpath" >
<module contextpath="myappli" name="webservices.jar" explode="true">
<jws type="JAXWS" file="${myappli.path}/alarm/jwsendpoint/AlarmBean.java" compiledWsdl="${build.artifacts.jar.dir}/AlarmWS_wsdl.jar"/>
<jws type="JAXWS" file="${myappli.path}/alert/jwsendpoint/AlertBean.java" compiledWsdl="${build.artifacts.jar.dir}/AlertWS_wsdl.jar"/>
</module>
</jwsc>
</target>This task generate the following error :
generate-webservices:
[jwsc] JWS: processing module webservices.jar
[jwsc] Parsing source files
[jwsc] Parsing source files
[jwsc] 2 JWS files being processed for module
odule webservices.jar
[jwsc] JWS:
JWS:
C:\projects\appli\main\src\net\aze\appli\services\alar
m\jwsendpoint\AlarmBean.java Validated.
[jwsc] JWS:
JWS:
C:\projects\appli\main\src\net\aze\appli\services\aler
t\jwsendpoint\AlertBean.java Validated.
[jwsc] Processing 2 JAX-WS web services...
[jwsc] warning: Annotation types without
thout processors: [javax.ejb.Stateless,
javax.annotation.Resource,
javax.annotation.security.RolesAllowed]
[jwsc]
jwsc]
C:\DOCUME~1\wg\LOCALS~1\Temp\_jg4rtr3\net\aze\appli\jw
s\alert\PTAlert.java:33: The endpoint interface
net.aze.appli.jws.alarm.PTAlarm does not match the
interface net.aze.appli.jws.alert.PTAlert.
[jwsc] public interface PTAlert {
[jwsc] ^
[jwsc] 1 error
[jwsc] 1 warning
[jwsc] Command invoked: apt
: apt C:\apps\bea10\JROCKI~1\jre\bin\java.exe
-classpath
C:\projects\appli\lib\common\caplib.jar;C:\pr......[pr
e]
C:\projects\aze\main\bea-build.xml:15: The following
error occurred while executing this line:
C:\projects\aze\main\ant\bea-generate-webservices.xml:
46: The following error occurred while executing this
line:
C:\projects\aze\main\ant\bea-generate-webservices.xml:
110: weblogic.wsee.tools.WsBuildException: Error
processing JAX-WS web servicesHere is my bean implementation :
@Stateless()
@Resource(name = "jdbc/applids", mappedName =
"applids", type = DataSource.class)
@WebService(endpointInterface =
"net.aze.appli.jws.alarm.PTAlarm")
@HandlerChain(file =
"../../../handler/alarmHandlerChain.xml")
@RolesAllowed({"anonym", "systemUser"})
public class AlarmBean implements PTAlarm {
@Resource
private SessionContext sessionContext;
public AlarmCreateOut persist(AlarmCreateIn in)
in) {
return
return
n
AlarmDelegate.getInstance(sessionContext).persist(in);
@Stateless()
@Resource(name = "jdbc/applids", mappedName =
"applids", type = DataSource.class)
@WebService(endpointInterface =
"net.aze.appli.jws.alert.PTAlert")
@RolesAllowed({"anonym", "systemUser"})
public class AlertBean implements PTAlert {
@Resource
private SessionContext sessionContext;
public AlertCreateOut persist(AlertCreateIn in)
in) {
return
return
n
AlertDelegate.getInstance(sessionContext).persist(in);
}Jwsc seems to mix the interfaces... If I try to
generate only one bean in jwsc it works...
Any ideas? I can't find the solution, could it be a
bug?
Thanks for your help.
Edited by will_mad at 09/11/2007 1:56 AMI too am getting similar error. If you hit a solution, do let me know :) -
Servicegen ant task....
I am trying to run servicegen and keep on getting a NoClassDefFoundError on a class which is contained in a jar file which is referenced in the javaClassComponent (web service class).
here is my build.xml...this is absolutely driving me nuts!! I even print out my classpath before hand and sure enough, the jar file I need is in the path. Here is the kicker...if I extract the one class file that it's not finding and have just the class file in my dir structure, it works fine....it's as if the classpath tag is completely being ignored!! please help...thanks!
<taskdef name="servicegen" classpathref="class.path"
classname="weblogic.ant.taskdefs.webservices.servidegen.ServiceGenTask"/>
<target name="whatever">
<servicegen desEar="somewhere.ear" warName=somewhere.war"
contextURI="whatever">
<classpath redif="class.path"/>
<service javaClassComponents="myclass"
targetNamespace="whatever"
serviceName="whatever"
serviceURI="whatever"
expandMethods="True"
</service>
</servicegen>
</target>did you ever find the solution to this one?
I am also getting the same error. But when I use ant after setting the environment using setEnv.cmd from examples it works fine.
why would it not take the classpathref attribute?
<path id="weblogic.class.path">
<pathelement location="${zip.development.lib.root}/webservices.jar"/> </path>
<taskdef name="servicegen" classpathref="weblogic.class.path" classname="weblogic.ant.taskdefs.webservices.servidegen.ServiceGenTask"/> -
Hello,
I'm trying to run the following mxmlc ant task from a relative path:
<mxmlc
file="flx/MyApp.mxml"
output="web/MyApp.swf"
context-root="MyApp"
services="web/WEB-INF/flex/services-config.xml"
compatibility-version="3">
<source-path
path-element="flx"/>
</mxmlc>
If I run the task from within the MyApp directory it works fine, but I want to run it from a relative directory, eg:
ant -f MyApp/build.xml
or from an ant build file:
<ant dir="MyApp"/>
However, in both cases I just get the following error:
[mxmlc] command line: Error: unable to open 'web/WEB-INF/flex/services-config.xml'
I really need to use relative paths as it is running as a sub-project of a larger project via an ant build, and there is no concept of changing directories within ant.
Does anybody know how I can get relative paths to works?
ThanksThanks. That's what I ended up doing in the end. I also added (prior to that)
<property name="project.dir" value="."/>
So that it can be run without manually specifying project.dir. (project.dir will only be set to . if it is not already set by an outer script).
What I really wanted was for mxmlc to run relative to the ant task, eg.
<ant dir="project"/>
Then each task inside the ant build file should run relative to "project". This is how <javac/> works. I don't think Adobe like relative paths though. -
Why wlappc ANT task forces aways the generation of the EJB classes ?
I've got a problem with the ANT task "wlappc" witch interfaces Weblogic compilator.
In fact, I would like to execute the ebj compilation only when needed (if the deployment descriptor or a class changed for example).
It seems that this is the default behavior and the 'forcegeneration' option of the wlappc Ant task can change it (the doc is below).
forceGeneration :
Forces generation of EJB and JSP classes. Without this flag, the classes will not be regenerated unless a checksum indicates that it is necessary.
So I wrote :
<wlappc source="${descriptors}/CommandeEntities" output="${build}/CommandsEntities.jar" keepgenerated="true" verbose="true" forcegeneration="false">
<classpath refid="ejb.classpath"/>
</wlappc>
but I got the folowing result :
ejbjar:
[wlappc] Warning, output location exists H:\devWv2\wv2\build\CommandesEntities.jar
[wlappc] Created working directory: C:\DOCUME~1\vdoneva\LOCALS~1\Temp\appcgen_1221729775921_CommandesEntities
[wlappc] 18 sept. 2008 11:22:59 weblogic.diagnostics.debug.DebugLogger debug
[wlappc] FIN: [VersionHelper] Recompiling because no previous hashes found
[wlappc] 18 sept. 2008 11:22:59 weblogic.diagnostics.debug.DebugLogger debug
[wlappc] FIN: [EJBCompiler] Compliance Checker said bean was compliant
[wlappc] 18 sept. 2008 11:22:59 weblogic.diagnostics.debug.DebugLogger debug
[wlappc] FIN: [EJBCompiler] Generating Bean Sources
[wlappc] 18 sept. 2008 11:22:59 weblogic.diagnostics.debug.DebugLogger debug
[wlappc] FIN: [EJBCompiler] Generating source for ejb WCritereListeMulticritere
[wlappc] 18 sept. 2008 11:22:59 weblogic.diagnostics.debug.DebugLogger debug
[wlappc] FIN: [EJBCompiler] Generated the following sources for this EJB: [C:\DOCUME~1\vdoneva\LOCALS~1\Temp\appcgen_1221729775921_CommandesEntities\com\experian\wv2\db\WCritereListeMulticritere_u6449c_LocalHomeImpl.java, C:\DOCUME~1\vdoneva\LOCALS~1\Temp\appcgen_1221729775921_CommandesEntities\com\experian\wv2\db\WCritereListeMulticritere_u6449c_ELOImpl.java]
[wlappc] 18 sept. 2008 11:22:59 weblogic.diagnostics.debug.DebugLogger debug
[wlappc] FIN: [EJBCompiler] Generating Persistence Sources
[wlappc] 18 sept. 2008 11:22:59 weblogic.diagnostics.debug.DebugLogger debug
[wlappc] FIN: [EJBCompiler] Generating Bean Sources
[wlappc] 18 sept. 2008 11:22:59 weblogic.diagnostics.debug.DebugLogger debug
[wlappc] FIN: [EJBCompiler] Generating source for ejb Document
[wlappc] 18 sept. 2008 11:23:00 weblogic.diagnostics.debug.DebugLogger debug
[wlappc] FIN: [EJBCompiler] Generated the following sources for this EJB: [C:\DOCUME~1\vdoneva\LOCALS~1\Temp\appcgen_1221729775921_CommandesEntities\com\experian\wv2\db\Document_6vm6yi_LocalHomeImpl.java, C:\DOCUME~1\vdoneva\LOCALS~1\Temp\appcgen_1221729775921_CommandesEntities\com\experian\wv2\db\Document_6vm6yi_ELOImpl.java]
[wlappc] 18 sept. 2008 11:23:02 weblogic.diagnostics.debug.DebugLogger debug
[wlappc] FIN: [EJBCompiler] Generating Persistence Sources
[wlappc] 18 sept. 2008 11:23:02 weblogic.diagnostics.debug.DebugLogger debug
[wlappc] FIN: [EJBCompiler] Compiling EJB sources
[wlappc] Note: Some input files use unchecked or unsafe operations.
[wlappc] Note: Recompile with -Xlint:unchecked for details.
[wlappc] 18 sept. 2008 11:23:10 weblogic.diagnostics.debug.DebugLogger debug
[wlappc] FIN: [EJBCompiler] Recompilation completed
[wlappc] 18 sept. 2008 11:23:10 weblogic.diagnostics.debug.DebugLogger debug
[wlappc] FIN: [EJBCompiler] Rmic completed
[wlappc] Compilation completed successfully.
[jar] Updating jar: H:\devWv2\wv2\build\CommandesEntities.jar
BUILD SUCCESSFUL
All the classes witch hasn't changed has been checked and regenerated. The compliler says "Recompiling because no previous hashes found".
But why ? It could be besause it creates a different working directory each time I execute this ant task ? Is this working directory configurable ?
Would you have any idea of what's happening ?
Thanks.You can find this in the 'org\apache\tools\ant\taskdefs\defaults.properties'
file of %wl-home%\server\lib\ant\ant.jar
--Sathish
<Michael Lee> wrote in message news:[email protected]..
I mean the definition of "wlappc" not the help for wlappc???thx.
i.e.
where can i find the sentence list below:
<taskdef name="wlappc" classname="weblogic.ant.taskdefs.j2ee.Appc"/>
I mean which files this "taskdef" is being in . -
Fully qualified elements in clientgen ant task
I think that ant clientgen task from WLS 10.3.3 is ignoring XSD parameter elementFormDefault="qualified". I generated client with this task and then sent simple request to webmethods server (i don't know version of this server either implementation of webservices on it) and i received bellow error:
*javax.xml.ws.soap.SOAPFaultException: [ISS.0088.9112] An Exception was thrown in the server:{0}*
After some investigation i had notice that webmethods server is answered with followed response:
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Header/><SOAP-ENV:Body>+
+<SOAP-ENV:Fault>+
+<faultcode>SOAP-ENV:Server</faultcode>+
+<faultstring>[ISS.0088.9112] An Exception was thrown in the server:{0}</faultstring>+
+<faultactor>http://ip:6080/soap/inbound</faultactor>+
+<detail xmlns:webM="http://www.webMethods.com/2001/10/soap/encoding">+
+<webM:exception>+
+<webM:className>com.wm.lang.flow.FlowException<;/webM:className>+
+<webM:message xml:lang="">java.lang.Exception: missing required parameter 'document'</webM:message>+
+</webM:exception>+
+</detail>+
+</SOAP-ENV:Fault>+
+</SOAP-ENV:Body>+
+</SOAP-ENV:Envelope>+
but request had document element in it:
+<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header><metadata xmlns="http://ns"><processGroup>PR</processGroup></metadata></S:Header><S:Body><document xmlns="http://ns"><binary>some binary</binary></document></S:Body></S:Envelope>+
after some modification i created fixed elements for body tag like this:
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >+
+<soapenv:Header>+
+<ns:metadata xmlns:ns="http://ns">+
+<ns:processGroup>PR</ns:processGroup>+
+</ns:metadata>+
+</soapenv:Header>+
+<soapenv:Body>+
+<ns:document xmlns:ns="http://ns">+
+<ns:binary>some binary+
+</ns:binary>+
+</ns:document>+
+</soapenv:Body>+
sent it ... and response was fine!
When I create request in Altova XMLSPY or in SOAPUI requests are correct (with qualified elements - see below)
Example request from soapui:
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://ns">+
+<soapenv:Header>+
+<ns:metadata>+
+<ns:processGroup>PR</ns:processGroup>+
+</ns:metadata>+
+</soapenv:Header>+
+<soapenv:Body>+
+<ns:document>+
+<ns:binary>some binary+
+</ns:binary>+
+</ns:document>+
+</soapenv:Body>+
My WSDL*
+<wsdl:definitions xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/";+
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:ns="http://ns" xmlns="http://ns" name="ReceiveRequest" targetNamespace="http://ns">
+<wsdl:documentation>This WSDL document contains an implementation of the ns Inbound Web Service.</wsdl:documentation>+
+<wsdl:types>+
+<xs:schema>+
+<xs:import schemaLocation="xsd/data.xsd"; namespace="http://ns"/>+
+</xs:schema>+
+</wsdl:types>+
+<wsdl:message name="metadata">+
+<wsdl:part name="metadata" element="ns:metadata">+
+<wsdl:documentation>the meta data</wsdl:documentation>+
+</wsdl:part>+
+</wsdl:message>+
+<wsdl:message name="document">+
+<wsdl:part name="document" element="ns:document">+
+<wsdl:documentation>the input data</wsdl:documentation>+
+</wsdl:part>+
+</wsdl:message>+
+<wsdl:message name="receiveRequestOutput">+
+<wsdl:part name="response" element="ns:processingResponse">+
+<wsdl:documentation>the output data</wsdl:documentation>+
+</wsdl:part>+
+</wsdl:message>+
+<wsdl:portType name="ns_backend_SOAPPortType">+
+<wsdl:operation name="receiveRequest">+
+<wsdl:input message="ns:document"/>+
+<wsdl:output message="ns:receiveRequestOutput"/>+
+</wsdl:operation>+
+</wsdl:portType>+
+<wsdl:binding name="ns_backend_SOAPBinding" type="ns:ns_backend_SOAPPortType">+
+<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>+
+<wsdl:operation name="receiveRequest">+
+<soap:operation soapAction="receiveRequest" style="document"/>+
+<wsdl:input>+
+<soap:header message="metadata" part="metadata" use="literal"/>+
+<soap:body parts="document" use="literal"/>+
+</wsdl:input>+
+<wsdl:output>+
+<soap:header message="metadata" part="metadata" use="literal"/>+
+<soap:body use="literal"/>+
+</wsdl:output>+
+</wsdl:operation>+
+</wsdl:binding>+
+<wsdl:service name="ReceiveRequest">+
+<wsdl:port name="ns_backend_SOAPPort0" binding="ns:ns_backend_SOAPBinding">+
+<soap:address location="https://ip:6080/soap/inbound"/>+
+</wsdl:port>+
+</wsdl:service>+
+</wsdl:definitions>+
And XSD*
+<?xml version="1.0"; encoding="UTF-8"?>+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://ns" targetNamespace="http://ns" elementFormDefault="qualified" attributeFormDefault="unqualified">+
+<xs:element name="metadata" type="ns:metadataType"/>+
+<!-- Request header meta data -->+
+<xs:complexType name="metadataType">+
+<xs:sequence>+
+<xs:element name="processGroup" type="xs:string" nillable="false"/>+
+<xs:element name="processName" type="xs:string" nillable="false"/>+
+<xs:element name="applReqID" type="xs:string" nillable="false"/>+
+<xs:element name="correlationID" type="xs:string" minOccurs="0"/>+
+<xs:element name="sender" type="xs:string" minOccurs="0"/>+
+<xs:element name="receiver" type="xs:string" minOccurs="0"/>+
+<xs:element name="documentVersion" type="xs:string" minOccurs="0"/>+
+<xs:element name="property1_Name" type="xs:string" minOccurs="0"/>+
+<xs:element name="property1_Value" type="xs:string" minOccurs="0"/>+
+<xs:element name="property2_Name" type="xs:string" minOccurs="0"/>+
+<xs:element name="property2_Value" type="xs:string" minOccurs="0"/>+
+<xs:element name="property3_Name" type="xs:string" minOccurs="0"/>+
+<xs:element name="property3_Value" type="xs:string" minOccurs="0"/>+
+<xs:element name="property4_Name" type="xs:string" minOccurs="0"/>+
+<xs:element name="property4_Value" type="xs:string" minOccurs="0"/>+
+<xs:element name="property5_Name" type="xs:string" minOccurs="0"/>+
+<xs:element name="property5_Value" type="xs:string" minOccurs="0"/>+
+<xs:element name="property6_Name" type="xs:string" minOccurs="0"/>+
+<xs:element name="property6_Value" type="xs:string" minOccurs="0"/>+
+<xs:element name="property7_Name" type="xs:string" minOccurs="0"/>+
+<xs:element name="property7_Value" type="xs:string" minOccurs="0"/>+
+<xs:element name="property8_Name" type="xs:string" minOccurs="0"/>+
+<xs:element name="property8_Value" type="xs:string" minOccurs="0"/>+
+<xs:element name="property9_Name" type="xs:string" minOccurs="0"/>+
+<xs:element name="property9_Value" type="xs:string" minOccurs="0"/>+
+<xs:element name="property10_Name" type="xs:string" minOccurs="0"/>+
+<xs:element name="property10_Value" type="xs:string" minOccurs="0"/>+
+<!-- 7.1 fields: typeFlag, replyTo, tags -->+
+<xs:element name="typeFlag" type="xs:string" minOccurs="0"/>+
+<xs:element name="replyTo" type="xs:string" minOccurs="0"/>+
+<xs:element name="tags" type="xs:string" minOccurs="0"/>+
+</xs:sequence>+
+</xs:complexType>+
+<!-- Response body part -->+
+<xs:element name="processingResponse" type="ns:processingResponseType"/>+
+<xs:complexType name="processingResponseType">+
+<xs:all>+
+<xs:element name="timeStamp" type="xs:string"/>+
+<xs:element name="processStatus" type="xs:string"/>+
+<xs:element name="responseMessage" type="xs:string"/>+
+<xs:element name="applReqID" type="xs:string"/>+
+<xs:element name="correlationID" type="xs:string"/>+
+</xs:all>+
+</xs:complexType>+
+<!-- Request body part-->+
+<xs:element name="document" type="ns:documentType"/>+
+<xs:complexType name="documentType">+
+<xs:sequence>+
+<xs:element name="binary" type="xs:base64Binary"/>+
+</xs:sequence>+
+</xs:complexType>+
+</xs:schema>+
And Ant task*
+<target name="wsdlc">+
+<taskdef name="wsdlc" classname="weblogic.wsee.tools.anttasks.WsdlcTask"; classpathref="weblogic.jar.classpath";/>+
+<wsdlc srcWsdl="wsdls/${wsdl_url}" jaxrpcwrappedarraystyle="false"+
+destJwsDir="./src/${package_name}/" packageName="pl.nbp.exdi.${package_name}" type="JAXWS"+
+explode="true" />+
_*How to force clientgen to create fully qualified elements in request ?*_And one more thing: I deploy it on WLS 12c.
-
Properties file not found by classloader when using wlappc ant task
I have encountered a problem with the WebLogic Ant task "wlappc". When this task compiles a webmodule that uses the struts 1.1 framework I get the below error. This struts based web module deploys and runs fine on BEA Weblogic 8.1 SP2 as an exploded EAR structure. But when I attempt to precompile all the J2EE modules the struts web module will not compile with wlappc. The project is strutured correctly in a split directory structure. The problem area seems to be that we are using the struts-el (struts-el.jar) classes which need the properties files located in the struts.jar. The classloader seems to space out when running via the wlappc ant task. I tried adjusting the classpath via the "classpath" wlappc ant task attribute - but no success. Has anyone had this or a similiar problem?
Any suggestions would be greatly appreciated!
Thanks in advance,
Scott
Error from ant task is as such:
compile:
[javac] Compiling 256 source files to C:\My Builds\WWL\build\wwlentityejb
[javac] Compiling 4 source files to C:\My Builds\WWL\build\wwlsessejb
[javac] Compiling 91 source files to C:\My Builds\WWL\build\wwlweb\WEB-INF\classes
appc:
[wlappc] [appc] Compiling EAR module 'wwltestweb'
[wlappc] [JspcInvoker]Checking web app for compliance.
[wlappc] <Jul 28, 2004 4:38:47 PM GMT-05:00> <Info> <HTTP> <BEA-101047> <[ComplianceChecker] Validating the servlet element with servlet-name named "JUnitEETestServlet".>
[wlappc] <Jul 28, 2004 4:38:48 PM GMT-05:00> <Info> <HTTP> <BEA-101047> <[ComplianceChecker] Checking servlet-mapping for servlet name : "JUnitEETestServlet".>
[wlappc] [appc] Compiling EAR module 'wwlweb'
[wlappc] [JspcInvoker]Checking web app for compliance.
[wlappc] <Jul 28, 2004 4:38:48 PM GMT-05:00> <Info> <HTTP> <BEA-101047> <[ComplianceChecker] Validating the servlet element with servlet-name named "wwlActionServlet".>
[wlappc] <Jul 28, 2004 4:38:48 PM GMT-05:00> <Info> <HTTP> <BEA-101047> <[ComplianceChecker] Checking servlet-mapping for servlet name : "wwlActionServlet".>
[wlappc] <Jul 28, 2004 4:38:48 PM GMT-05:00> <Info> <HTTP> <BEA-101047> <[ComplianceChecker] Checking filter-mapping with filter-name "I18NFilter".>
[wlappc] <Jul 28, 2004 4:38:48 PM GMT-05:00> <Info> <HTTP> <BEA-101047> <[ComplianceChecker] Checking filter-mapping with filter-name "Security Filter".>
[wlappc] [jspc] parsing /admin/jsps/menu.jsp:
[wlappc] Jul 28, 2004 4:38:50 PM org.apache.struts.util.MessageResourcesFactory createFactory
[wlappc] SEVERE: MessageResourcesFactory.createFactory
[wlappc] java.lang.ClassNotFoundException: org.apache.struts.util.PropertyMessageResourcesFactory
[wlappc] at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
[wlappc] at java.security.AccessController.doPrivileged(Native Method)
[wlappc] at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
[wlappc] at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
[wlappc] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:272)
[wlappc] at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
[wlappc] at org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:207)
[wlappc] at org.apache.struts.util.MessageResourcesFactory.createFactory(MessageResourcesFactory.java:192)
[wlappc] at org.apache.struts.util.MessageResources.getMessageResources(MessageResources.java:576)
[wlappc] at org.apache.struts.util.RequestUtils.<clinit>(RequestUtils.java:134)
[wlappc] at org.apache.struts.util.MessageResourcesFactory.createFactory(MessageResourcesFactory.java:192)
[wlappc] at org.apache.struts.util.MessageResources.getMessageResources(MessageResources.java:576)
[wlappc] at org.apache.struts.taglib.html.BaseTag.<clinit>(BaseTag.java:94)
[wlappc] at java.lang.Class.forName0(Native Method)
[wlappc] at java.lang.Class.forName(Class.java:140)
[wlappc] at org.apache.strutsel.taglib.html.ELBaseTagBeanInfo.class$(ELBaseTagBeanInfo.java:81)
[wlappc] at org.apache.strutsel.taglib.html.ELBaseTagBeanInfo.getPropertyDescriptors(ELBaseTagBeanInfo.java:81)
[wlappc] at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:436)
[wlappc] at java.beans.Introspector.getBeanInfo(Introspector.java:372)
[wlappc] at java.beans.Introspector.getBeanInfo(Introspector.java:207)
[wlappc] at java.beans.Introspector.getBeanInfo(Introspector.java:193)
[wlappc] at weblogic.servlet.jsp.StandardTagLib.parseTagDD(StandardTagLib.java:1323)
[wlappc] at weblogic.servlet.jsp.StandardTagLib.parseDD(StandardTagLib.java:1261)
[wlappc] at weblogic.servlet.jsp.StandardTagLib.<init>(StandardTagLib.java:292)
[wlappc] at weblogic.servlet.jsp.TagLibHelper.loadTagLib(TagLibHelper.java:314)
[wlappc] at weblogic.servlet.jsp.JspLexer.loadTagLib(JspLexer.java:145)
[wlappc] at weblogic.servlet.jsp.JspLexer.mTAGLIB_DIRECTIVE_BODY(JspLexer.java:5015)
[wlappc] at weblogic.servlet.jsp.JspLexer.mTAGLIB_DIRECTIVE(JspLexer.java:4853)
[wlappc] at weblogic.servlet.jsp.JspLexer.mDIRECTIVE(JspLexer.java:4699)
[wlappc] at weblogic.servlet.jsp.JspLexer.mSTANDARD_THING(JspLexer.java:2094)
[wlappc] at weblogic.servlet.jsp.JspLexer.mTOKEN(JspLexer.java:1880)
[wlappc] at weblogic.servlet.jsp.JspLexer.nextToken(JspLexer.java:1753)
[wlappc] at weblogic.servlet.jsp.JspLexer.parse(JspLexer.java:963)
[wlappc] at weblogic.servlet.jsp.JspParser.doit(JspParser.java:106)
[wlappc] at weblogic.servlet.jsp.JspParser.parse(JspParser.java:230)
[wlappc] at weblogic.servlet.jsp.Jsp2Java.outputs(Jsp2Java.java:125)
[wlappc] at weblogic.utils.compiler.CodeGenerator.generate(CodeGenerator.java:258)
[wlappc] at weblogic.jspc.runJspc(jspc.java:550)
[wlappc] at weblogic.jspc.runJspc(jspc.java:437)
[wlappc] at weblogic.servlet.jsp.JspcInvoker.compile(JspcInvoker.java:163)
[wlappc] at weblogic.appc.compileWAR(appc.java:859)
[wlappc] at weblogic.appc.compileModules(appc.java:650)
[wlappc] at weblogic.appc.compileEAR(appc.java:733)
[wlappc] at weblogic.appc.compileInput(appc.java:458)
[wlappc] at weblogic.appc.runBody(appc.java:184)
[wlappc] at weblogic.utils.compiler.Tool.run(Tool.java:146)
[wlappc] at weblogic.utils.compiler.Tool.run(Tool.java:103)
[wlappc] at weblogic.appc.main(appc.java:1028)
[wlappc] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[wlappc] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[wlappc] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[wlappc] at java.lang.reflect.Method.invoke(Method.java:324)
[wlappc] at weblogic.ant.taskdefs.j2ee.CompilerTask.invokeMain(CompilerTask.java:278)
[wlappc] at weblogic.ant.taskdefs.j2ee.Appc.execute(Appc.java:179)
[wlappc] at org.apache.tools.ant.Task.perform(Task.java:341)
[wlappc] at org.apache.tools.ant.Target.execute(Target.java:309)
[wlappc] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[wlappc] at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
[wlappc] at org.apache.tools.ant.Project.executeTargets(Project.java:1255)
[wlappc] at org.apache.tools.ant.Main.runBuild(Main.java:609)
[wlappc] at org.apache.tools.ant.Main.start(Main.java:196)
[wlappc] at org.apache.tools.ant.Main.main(Main.java:235)
[wlappc] Jul 28, 2004 4:38:50 PM org.apache.struts.util.MessageResourcesFactory createFactory
[wlappc] SEVERE: MessageResourcesFactory.createFactory
[wlappc] java.lang.ExceptionInInitializerError
[wlappc] at org.apache.struts.util.MessageResourcesFactory.createFactory(MessageResourcesFactory.java:192)
[wlappc] at org.apache.struts.util.MessageResources.getMessageResources(MessageResources.java:576)
[wlappc] at org.apache.struts.taglib.html.BaseTag.<clinit>(BaseTag.java:94)
[wlappc] at java.lang.Class.forName0(Native Method)
[wlappc] at java.lang.Class.forName(Class.java:140)
[wlappc] at org.apache.strutsel.taglib.html.ELBaseTagBeanInfo.class$(ELBaseTagBeanInfo.java:81)
[wlappc] at org.apache.strutsel.taglib.html.ELBaseTagBeanInfo.getPropertyDescriptors(ELBaseTagBeanInfo.java:81)
[wlappc] at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:436)
[wlappc] at java.beans.Introspector.getBeanInfo(Introspector.java:372)
[wlappc] at java.beans.Introspector.getBeanInfo(Introspector.java:207)
[wlappc] at java.beans.Introspector.getBeanInfo(Introspector.java:193)
[wlappc] at weblogic.servlet.jsp.StandardTagLib.parseTagDD(StandardTagLib.java:1323)
[wlappc] at weblogic.servlet.jsp.StandardTagLib.parseDD(StandardTagLib.java:1261)
[wlappc] at weblogic.servlet.jsp.StandardTagLib.<init>(StandardTagLib.java:292)
[wlappc] at weblogic.servlet.jsp.TagLibHelper.loadTagLib(TagLibHelper.java:314)
[wlappc] at weblogic.servlet.jsp.JspLexer.loadTagLib(JspLexer.java:145)
[wlappc] at weblogic.servlet.jsp.JspLexer.mTAGLIB_DIRECTIVE_BODY(JspLexer.java:5015)
[wlappc] at weblogic.servlet.jsp.JspLexer.mTAGLIB_DIRECTIVE(JspLexer.java:4853)
[wlappc] at weblogic.servlet.jsp.JspLexer.mDIRECTIVE(JspLexer.java:4699)
[wlappc] at weblogic.servlet.jsp.JspLexer.mSTANDARD_THING(JspLexer.java:2094)
[wlappc] at weblogic.servlet.jsp.JspLexer.mTOKEN(JspLexer.java:1880)
[wlappc] at weblogic.servlet.jsp.JspLexer.nextToken(JspLexer.java:1753)
[wlappc] at weblogic.servlet.jsp.JspLexer.parse(JspLexer.java:963)
[wlappc] at weblogic.servlet.jsp.JspParser.doit(JspParser.java:106)
[wlappc] at weblogic.servlet.jsp.JspParser.parse(JspParser.java:230)
[wlappc] at weblogic.servlet.jsp.Jsp2Java.outputs(Jsp2Java.java:125)
[wlappc] at weblogic.utils.compiler.CodeGenerator.generate(CodeGenerator.java:258)
[wlappc] at weblogic.jspc.runJspc(jspc.java:550)
[wlappc] at weblogic.jspc.runJspc(jspc.java:437)
[wlappc] at weblogic.servlet.jsp.JspcInvoker.compile(JspcInvoker.java:163)
[wlappc] at weblogic.appc.compileWAR(appc.java:859)
[wlappc] at weblogic.appc.compileModules(appc.java:650)
[wlappc] at weblogic.appc.compileEAR(appc.java:733)
[wlappc] at weblogic.appc.compileInput(appc.java:458)
[wlappc] at weblogic.appc.runBody(appc.java:184)
[wlappc] at weblogic.utils.compiler.Tool.run(Tool.java:146)
[wlappc] at weblogic.utils.compiler.Tool.run(Tool.java:103)
[wlappc] at weblogic.appc.main(appc.java:1028)
[wlappc] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[wlappc] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[wlappc] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[wlappc] at java.lang.reflect.Method.invoke(Method.java:324)
[wlappc] at weblogic.ant.taskdefs.j2ee.CompilerTask.invokeMain(CompilerTask.java:278)
[wlappc] at weblogic.ant.taskdefs.j2ee.Appc.execute(Appc.java:179)
[wlappc] at org.apache.tools.ant.Task.perform(Task.java:341)
[wlappc] at org.apache.tools.ant.Target.execute(Target.java:309)
[wlappc] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[wlappc] at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
[wlappc] at org.apache.tools.ant.Project.executeTargets(Project.java:1255)
[wlappc] at org.apache.tools.ant.Main.runBuild(Main.java:609)
[wlappc] at org.apache.tools.ant.Main.start(Main.java:196)
[wlappc] at org.apache.tools.ant.Main.main(Main.java:235)
[wlappc] Caused by: java.lang.NullPointerException
[wlappc] at org.apache.struts.util.MessageResources.getMessageResources(MessageResources.java:577)
[wlappc] at org.apache.struts.util.RequestUtils.<clinit>(RequestUtils.java:134)
[wlappc] ... 52 more
BUILD FAILED
file:C:/My Sources/WWLEar/wwlear/build.xml:128: weblogic.utils.compiler.ToolFailureException: [J2EE:160119]Appc is unable to process the file 'C:\My Builds\WWL\build'. The following error occurred:
java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:140)
at org.apache.strutsel.taglib.html.ELBaseTagBeanInfo.class$(ELBaseTagBeanInfo.java:81)
at org.apache.strutsel.taglib.html.ELBaseTagBeanInfo.getPropertyDescriptors(ELBaseTagBeanInfo.java:81)
at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:436)
at java.beans.Introspector.getBeanInfo(Introspector.java:372)
at java.beans.Introspector.getBeanInfo(Introspector.java:207)
at java.beans.Introspector.getBeanInfo(Introspector.java:193)
at weblogic.servlet.jsp.StandardTagLib.parseTagDD(StandardTagLib.java:1323)
at weblogic.servlet.jsp.StandardTagLib.parseDD(StandardTagLib.java:1261)
at weblogic.servlet.jsp.StandardTagLib.<init>(StandardTagLib.java:292)
at weblogic.servlet.jsp.TagLibHelper.loadTagLib(TagLibHelper.java:314)
at weblogic.servlet.jsp.JspLexer.loadTagLib(JspLexer.java:145)
at weblogic.servlet.jsp.JspLexer.mTAGLIB_DIRECTIVE_BODY(JspLexer.java:5015)
at weblogic.servlet.jsp.JspLexer.mTAGLIB_DIRECTIVE(JspLexer.java:4853)
at weblogic.servlet.jsp.JspLexer.mDIRECTIVE(JspLexer.java:4699)
at weblogic.servlet.jsp.JspLexer.mSTANDARD_THING(JspLexer.java:2094)
at weblogic.servlet.jsp.JspLexer.mTOKEN(JspLexer.java:1880)
at weblogic.servlet.jsp.JspLexer.nextToken(JspLexer.java:1753)
at weblogic.servlet.jsp.JspLexer.parse(JspLexer.java:963)
at weblogic.servlet.jsp.JspParser.doit(JspParser.java:106)
at weblogic.servlet.jsp.JspParser.parse(JspParser.java:230)
at weblogic.servlet.jsp.Jsp2Java.outputs(Jsp2Java.java:125)
at weblogic.utils.compiler.CodeGenerator.generate(CodeGenerator.java:258)
at weblogic.jspc.runJspc(jspc.java:550)
at weblogic.jspc.runJspc(jspc.java:437)
at weblogic.servlet.jsp.JspcInvoker.compile(JspcInvoker.java:163)
at weblogic.appc.compileWAR(appc.java:859)
at weblogic.appc.compileModules(appc.java:650)
at weblogic.appc.compileEAR(appc.java:733)
at weblogic.appc.compileInput(appc.java:458)
at weblogic.appc.runBody(appc.java:184)
at weblogic.utils.compiler.Tool.run(Tool.java:146)
at weblogic.utils.compiler.Tool.run(Tool.java:103)
at weblogic.appc.main(appc.java:1028)
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:324)
at weblogic.ant.taskdefs.j2ee.CompilerTask.invokeMain(CompilerTask.java:278)
at weblogic.ant.taskdefs.j2ee.Appc.execute(Appc.java:179)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
at org.apache.tools.ant.Project.executeTargets(Project.java:1255)
at org.apache.tools.ant.Main.runBuild(Main.java:609)
at org.apache.tools.ant.Main.start(Main.java:196)
at org.apache.tools.ant.Main.main(Main.java:235)
Caused by: java.lang.NullPointerException
at org.apache.struts.util.MessageResources.getMessageResources(MessageResources.java:577)
at org.apache.struts.taglib.html.BaseTag.<clinit>(BaseTag.java:94)
... 49 more
- with nested exception:
[java.lang.ExceptionInInitializerError]
Total time: 42 secondsHi Rob,
I also gets this error when I deploy my application using struts 1.2.2 with struts-el.jar also.
The error is thrown when the server comile the jsp's :
<BEA-101047>[ServletContext(id=20164970,name=tracer,context-path=/tracer)] classfile up-to-date for JSP /webdatagrid/layouts/default/customize.jsp>
####<Sep 2, 2004 2:05:26 PM EDT> <Info> <HTTP> <nyeqshu2> <sit1tracerweb> <ExecuteThread: '3' for queue: 'weblogic.kernel.System'> <<WLS Kernel>> <>
<BEA-101047> <[ServletContext(id=20164970,name=tracer,context-path=/tracer)] checking /webdatagrid/layouts/default/exceldownload.jsp:>
####<Sep 2, 2004 2:05:30 PM EDT> <Error> <Deployer> <nyeqshu2> <sit1tracerweb> <ExecuteThread: '3' for queue: 'weblogic.kernel.System'> <<WLS Kernel>>
<>
<BEA-149201> <Failed to complete the deployment task with ID 0 for the application tracer-webapp-application-uncontrolled.
java.lang.NullPointerException
at org.apache.struts.util.MessageResources.getMessageResources(MessageResources.java:577)
at org.apache.struts.taglib.html.BaseTag.<clinit>(BaseTag.java:94)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:140)
at org.apache.strutsel.taglib.html.ELBaseTagBeanInfo.class$(ELBaseTagBeanInfo.java:81)
at org.apache.strutsel.taglib.html.ELBaseTagBeanInfo.getPropertyDescriptors(ELBaseTagBeanInfo.java:81)
at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:436)
at java.beans.Introspector.getBeanInfo(Introspector.java:372)
at java.beans.Introspector.getBeanInfo(Introspector.java:207)
at java.beans.Introspector.getBeanInfo(Introspector.java:193)
at weblogic.servlet.jsp.StandardTagLib.parseTagDD(StandardTagLib.java:1323)
at weblogic.servlet.jsp.StandardTagLib.parseDD(StandardTagLib.java:1261)
at weblogic.servlet.jsp.StandardTagLib.<init>(StandardTagLib.java:292)
at weblogic.servlet.jsp.TagLibHelper.loadTagLib(TagLibHelper.java:314)
at weblogic.servlet.jsp.JspLexer.loadTagLib(JspLexer.java:145)
at weblogic.servlet.jsp.JspLexer.mTAGLIB_DIRECTIVE_BODY(JspLexer.java:5015)
at weblogic.servlet.jsp.JspLexer.mTAGLIB_DIRECTIVE(JspLexer.java:4853)
at weblogic.servlet.jsp.JspLexer.mDIRECTIVE(JspLexer.java:4699)
at weblogic.servlet.jsp.JspLexer.mSTANDARD_THING(JspLexer.java:2094)
at weblogic.servlet.jsp.JspLexer.mTOKEN(JspLexer.java:1880)
at weblogic.servlet.jsp.JspLexer.nextToken(JspLexer.java:1753)
at weblogic.servlet.jsp.JspLexer.parse(JspLexer.java:963)
at weblogic.servlet.jsp.JspParser.doit(JspParser.java:106)
at weblogic.servlet.jsp.JspParser.parse(JspParser.java:230)
at weblogic.servlet.jsp.Jsp2Java.outputs(Jsp2Java.java:125)
at weblogic.utils.compiler.CodeGenerator.generate(CodeGenerator.java:258)
at weblogic.servlet.jsp.Precompiler.compileOne(Precompiler.java:191)
at weblogic.servlet.jsp.Precompiler.compile(Precompiler.java:71)
at weblogic.servlet.jsp.Precompiler.compile(Precompiler.java:82)
at weblogic.servlet.internal.WebAppServletContext.precompileJSPs(WebAppServletContext.java:4908)
at weblogic.servlet.internal.WebAppServletContext.precompileJSPs(WebAppServletContext.java:4886)
at weblogic.servlet.internal.WebAppServletContext.prepareFromDescriptors(WebAppServletContext.java:2342)
at weblogic.servlet.internal.WebAppServletContext.init(WebAppServletContext.java:565)
at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:493)
at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:628)
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:626)
at weblogic.j2ee.J2EEApplicationContainer.prepareWebModule(J2EEApplicationContainer.java:3011)
at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1532)
at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1188)
at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
--------------- nested within: ------------------
weblogic.management.ManagementException: - with nested exception:
[java.lang.NullPointerException]
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2491)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>
####<Sep 2, 2004 2:37:29 PM EDT> <Info> <Deployer> <nyeqshu2> <sit1tracerweb> <ExecuteThread: '2' for queue: 'weblogic.kernel.System'> <<WLS Kernel>>
<>
<BEA-149059> <Module tracer of application tracer-webapp-application-1_6_3_510 is transitioning from unprepared to prepared on server sit1tracerweb
.>
####<Sep 2, 2004 2:37:39 PM EDT> <Debug> <HTTP> <nyeqshu2> <sit1tracerweb> <ExecuteThread: '2' for queue: 'weblogic.kernel.System'> <<WLS Kernel>> <>
####<Sep 2, 2004 2:37:39 PM EDT> <Debug> <HTTP> <nyeqshu2> <sit1tracerweb> <ExecuteThread: '2' for queue: 'weblogic.kernel.System'> <<WLS Kernel>> <>
<BEA-101211> <tracer-webapp-application-1_6_3_510:tracer Precompiling JSPs at startup with JSP config [JspConfig: verbose=true,packagePrefix=jsp_servl
et,-compiler=javac,compileFlags=,workingDir=./applications/tracer/WEB-INF/classes,pageCheckSeconds=5,superclass=weblogic.servlet.jsp.JspBase,keepgener
ated=true,precompileContinue=false,compilerSupportsEncoding=true,encoding=null,defaultfilename=index.jsp,compilerclass=null,noTryBlocks=true,debugEnab
led=false,printNulls=true,jspServlet=null].>
I've looked at the source code ant it is actually using the current thread's classloader.
The fact is that it works fine when deployed to tomcat 4.1.30, but it fails when deploying on our weblogic managed servers.
Thanks
Julien De Santis
CGI Group -
Bugs in jdoc and jdoclet Ant tasks?
(The relevant lines in the build.xml file are at the end of this message.)
I encountered a problem with the jdoc Ant task:
- I added a description for a class in the metadata file. Everything rans
fine. Then I added another class to the metadata file, when the jdoc task
is invoked again by Ant the new class is not enhanced at all.
- However when I run the jdoc on the metadata file outside Ant, the new
class is enhanced.
I can't run the jdoclet task at all because Ant complains that it can't
find the class com.solarmetric.modules.integration.ant.KodoDocletTask.
However it doesn't have any problem finding the class
com.solarmetric.modules.integration.ant.JDOEnhancerTask. Aren't they both
in the kodo-jdoee.jar? I also tried using the classpath element inside the
target for the jdoclet without success.
Thanks for your help.
Here is an extract of the build.xml file:
<!--Set the classpath-->
<path id="classpath">
<pathelement location="d:/books/JDO/KODO/kodo-jdoee2.3.3/lib/jdo1_0.jar"/>
<pathelement
location="d:/books/JDO/KODO/kodo-jdoee-2.3.3/lib/kodo-jdoee.jar"/>
<pathelement location="C:\java\xdoclet-1.1.2\lib\xdoclet.jar"/>
</path>
<target name="taskdefs">
<taskdef name="jdodoclet"
classname="com.solarmetric.modules.integration.ant.KodoDocletTask"/>
<!-- the above line causes an error -->
<taskdef name="jdoc"
classname="com.solarmetric.modules.integration.ant.JDOEnhancerTask"/>
<!-- no problem with the above -->
<target name="enhanceAll" depends="compile">
<jdoc>
<fileset dir="./classes/quocp">
<include name="ent.jdo" />
</fileset>
<config licenseKey="<license key removed>" />
<classpath refid="classpath"/>
</jdoc>
</target>Actually I did have a classpath issue, the xdoclet jar was not being
included properly; once I got it included I now get this error:
BUILD FAILED: java.lang.LinkageError: duplicate class definition:
org/apache/log4j/Category
I think the xdoclet is incompatible with the version of log4j I have....but
I don't know for certain.
So I tried moving to the latest and greatest xdoclet and now I get a new
error (and it fails earlier):
Finding class com.solarmetric.modules.integration.ant.JDODocletSubTask
Exception reading component C:\dev2\java\devlib\kodo-jdo.jar
BUILD FAILED: java.lang.NoClassDefFoundError:
com/solarmetric/modules/integration/ant/JDODocletSubTask
One thing I have learned today is the -debug flag when running ant...very
helpful in finding out where the failure is occuring.
Any ideas you might have on how to proceed would be helpful...is there a way
to run the xdoclet stuff without the ant tasks?
Thanks,
Steven Balthazor
"Marc Prud'hommeaux" <[email protected]> wrote in message
news:[email protected]...
Steven-
If you include the Kodo devel jars in your system CLASSPATH, does it
work? I.e., is it a problem with the classpath, or with the XDoclet
integration in general?
In article <[email protected]>, Steven Balthazor wrote:
I have followed these instructions to the letter; but I am unable to get
the
Doclet task to work in ant. Specifically my taskdef:
<taskdef name="jdodoclet"
classname="com.solarmetric.modules.integration.ant.KodoDocletTask">
<classpath refid="cp" />
</taskdef>
Generates the following error when running ant:
BUILD FAILED: file:C:/dev2/java/devbuild.xml:54: taskdef class
com.solarmetric.modules.integration.ant.KodoDocletTask cannot be found
Now I would think this is a classpath problem; except if I change the
taskdef to:
<taskdef name="jdodoclet"
classname="com.solarmetric.modules.integration.ant.SchemaToolTask">
<classpath refid="cp" />
</taskdef>
I get a new error:
BUILD FAILED: file:C:/dev2/java/devbuild.xml:56: The <jdodoclet> task
doesn't support the nested "jdotags" element.
This looks like it is finding the SchemaToolTask and failing in the
implementation of jdodoclet. As far as I can tell, KodoDocletTask and
SchemaToolTask are in the same jar. So what gives?
I am using Kodo 2.5.2; and I have Xdoclet 1.1.2 in my classpath.
Any help would be appreciated.
Steven Balthazor
"Patrick Linskey" <[email protected]> wrote in message
news:[email protected]...
I'm guessing that the kodo jars are not in the classpath when you
launch
ant. If this is the case, then you must specify a classpath in your
taskdef, and probably in the jdodoclet execution as well. You can do
this with something like this:
<target ...>
<taskdef ...>
<classpath refid="cp"/>
</taskdef>
<jdodoclet ...>
<classpath refid="cp"/>
</jdodoclet>
</target>
This assumes that you've defined a path somewhere in your ant buildfile
with an id of 'cp'.
-Patrick
Quoc Pham wrote:
Hi Patrick,
I still haven\'t been able to solve the problem with the jdoclet
task:
>>>>
>>>>
I can\\\'t run the jdoclet task at all because Ant complains thatit
>>>>
can\\\'t
find the class
com.solarmetric.modules.integration.ant.KodoDocletTask.
However it doesn\\\'t have any problem finding the class
com.solarmetric.modules.integration.ant.JDOEnhancerTask. Aren\\\'tthey
both
in the kodo-jdoee.jar? I also tried using the classpath element
inside
the
target for the jdoclet without success.
Here is the jdoclet task:
classname=\\\"com.solarmetric.modules.integration.ant.KodoDocletTask\\\"/>
>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
When I run the above task, I got the error message:
Buildfile: build.xml
generateJdoMetadata
BUILD FAILED
file:d/jdev903/jdev/mywork/JDO/Ent/build.xml:102:taskdef class
com.solarmetric.modules.integration.ant.KodoDocletTask cannot be
found
>>>>
>>>>
Questions:
- How do I let ant know the class path to use to run this task?
- What should the value of sourcepath be?
- What should the value of dir be? The directory where the .javafiles
reside?--
Patrick Linskey [email protected]
SolarMetric Inc. http://www.solarmetric.com
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com -
DesignWebCenterSpaces clean-stage ant task failed with error
I followed the WC PS4 Developer Guide to Extend WC Spaces. For this I modified my config.properties and did as was mentioned in the guide. However when I run the ant "clean-stage" on build.xml I get the below error :-
Can someone help to get this resolved ?
Note: I have included antcontrib.jar in the specified location ${jdeveloper.install.home.directory}/modules/net.sf.antcontrib_1.0.0.0_1-0b2/lib/ant-contrib.jar
Error:
Buildfile: C:\JDeveloper\mywork\DesignWebCenterSpaces\DesignWebCenterSpaces\WebCenterSpacesExtensionLibrary\build.xml
clean:
[echo] ----------------------------
[echo] ----Cleaning deploy directory ---
[echo] ----------------------------
init:
pre-compile:
[echo] ----------------------------
[echo] ----Updating the manifest file with the
correct version specification and implementation version
[echo] ----------------------------
BUILD FAILED
C:\JDeveloper\mywork\DesignWebCenterSpaces\DesignWebCenterSpaces\WebCenterSpacesExtensionLibrary\internal-targets.xml:73: if doesn't support the nested "bool" element.
Total time: 0 secondsinternal-targets.xml
<?xml version="1.0" encoding="US-ASCII" ?>
<project name="WebCenterSpacesSharedLibExtensionInternal" default="init" basedir="."
xmlns:wls="oracle.webcenter.tools.wls">
<import file="internal-targets.xml"/>
<property file="../config.properties"/>
<property file="build.properties"/>
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="${jdeveloper.install.home.directory}/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar"/>
</classpath>
</taskdef>
<taskdef name="ojdeploy"
classname="oracle.jdeveloper.deploy.ant.OJDeployAntTask"
uri="oraclelib:OJDeployAntTask"
classpath="${oracle.jdeveloper.ant.library}"/>
<target name="init">
<tstamp/>
<mkdir dir="${output.dir}"/>
<mkdir dir="${custom.profile.attribute.home}/classes"/>
<mkdir dir="${custom.oam.task.flow.home}/classes"/>
<mkdir dir="${custom.jar.custompagegstaskflow.home}/classes"/>
<mkdir dir="${custom.rulebased.resource.home}/classes"/>
<mkdir dir="${custom.java.code.home}/classes"/>
<mkdir dir="${extending.spaces.home.dir}/RuleBasedResources/classes"/>
<mkdir dir="${extending.spaces.home.dir}/JavaCodeAndSessionTimeout/classes"/>
</target>
<target name="clean" description="Cleans the project">
<echo> ----Cleaning deploy directory ---</echo>
<delete includeemptydirs="true" quiet="true">
<fileset dir="${extending.spaces.home.dir}/deploy" includes="**/*"/>
<fileset dir="${output.dir}" includes="**/*"/>
<fileset dir="${custom.jar.custompagegstaskflow.out.dir}" includes="**/*"/>
<fileset dir="${custom.profile.attribute.out.dir}" includes="**/*"/>
<fileset dir="${custom.oam.task.flow.out.dir}" includes="**/*"/>
<fileset dir="${oracle.jdeveloper.deploy.dir}" includes="**/*"/>
<fileset dir="${custom.profile.attribute.home}/classes" includes="**/*"/>
<fileset dir="${custom.oam.task.flow.home}/classes" includes="**/*"/>
<fileset dir="${custom.jar.custompagegstaskflow.home}/classes" includes="**/*"/>
<fileset dir="${extending.spaces.out.dir}" includes="**/*"/>
<fileset dir="${extending.spaces.home}/classes" includes="**/*"/>
<fileset dir="${extending.spaces.home.dir}/RuleBasedResources/deploy" includes="**/*"/>
<fileset dir="${extending.spaces.home.dir}/JavaCodeAndSessionTimeout/deploy" includes="**/*"/>
<fileset dir="${extending.spaces.home.dir}/RuleBasedResources/classes" includes="**/*"/>
<fileset dir="${extending.spaces.home.dir}/JavaCodeAndSessionTimeout/classes" includes="**/*"/>
</delete>
</target>
<target name="clean-local-manifest-file"
description="This target cleans up the locally created manifest
properties file">
<delete file="manifestImpl.properties" quiet="true"/>
</target>
<target name="pre-compile" description="Specifies the version number for the manifest file">
<property value="${restart.implementation.version.suffix}" name="restartVer"/>
<if>
<length string="${restartVer}" when="greater" trim="true" length="30" />
<then>
<property name="propValue" value="1"/>
</then>
<else>
<property name="propValue" value="${restartVer}"/>
</else>
</if>
<if>
<!--Checking if the manifest file is available -->
<available file="manifestImpl.properties" property="propavailable"/>
<then>
<property file="manifestImpl.properties"/>
<!--Getting the larger of the 2 numbers, from the properties
and the local manifest file -->
<property value="${lastNumber}" name="lastCount"/>
<if>
<bool>
<isgreaterthan arg1="${lastCount}" arg2="${propValue}"/>
</bool>
<then>
<property name="valueToConsider" value="${lastCount}"/>
</then>
<else>
<property name="valueToConsider" value="${propValue}"/>
</else>
</if>
</then>
<else>
<!--Setting the property file if it does not exist-->
<propertyfile file="manifestImpl.properties"
comment="Implementation Version">
<entry key="implVersion" value="${default.implementation.version}"/>
</propertyfile>
<property name="valueToConsider" value="${propValue}"/>
</else>
</if>
<!--From the obtained value incrementing the value by one-->
<var name="op1" value="${valueToConsider}"/>
<var name="op2" value="1"/>
<var name="op" value="+"/>
<math result="result" operand1="${op1}"
operation="${op}" operand2="${op2}" datatype="int"/>
<!--Setting the value in properties file-->
<propertyfile file="manifestImpl.properties">
<entry key="lastNumber" type="int" value="${result}"/>
</propertyfile>
<property file="manifestImpl.properties"/>
<property name="tempManifestImpelVersion" value="${implVersion}.${result}"/>
<propertyfile file="manifestImpl.properties">
<entry key="manifest.implementation.version"
value="${tempManifestImpelVersion}"/>
</propertyfile>
<copy file="${manifest.template.directory}/MANIFEST.MF.TEMPL"
tofile="${manifest.file.directory}/MANIFEST.MF"
overwrite="true">
<filterset>
<filter token="IMPLEMENTATION_VERSION"
value="${tempManifestImpelVersion}"/>
<filter token="LIBRARY_NAME"
value="${customer.library.name}"/>
<filter token="CUSTOMER_NAME"
value="${customer.name}"/>
</filterset>
</copy>
<path id="custom.profile.attribute.classpath">
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/search-crawl-spi.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/search-admin.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/search-auth-plugin.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/search-auth-share.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/search-crawl-ses.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/search-crawl-ucm.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/search-api.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/search-adapter.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/search-model.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/search-service-view.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/search-skin.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/searchlet.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/activity-streaming-model.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/security-extension.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/peopleconnections-preference-model.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/peopleconnections-profile-model.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/serviceframework.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/modules/javax.jsp_1.2.0.0_2-1.jar"/>
<pathelement path="${extending.spaces.home.dir}/ProfileCrawler/classes"/>
</path>
<path id="library.JSF.1.2">
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.jsf_1.2.9/glassfish.jsf_1.0.0.0_1-2-15.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.jsf_1.2.9/glassfish.jstl_1.2.0.1.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.jsf_1.2.9/javax.jsf_1.1.0.0_1-2.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.jsf_1.2.9/wls.jsf.di.jar"/>
</path>
<path id="library.WebCenter.Common">
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/command-api.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/command-spi.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/generalsettings-model.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/lifecycle-client.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/lifecycle-model.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/lifecycle-service.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/lock-service-model.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/search-api.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/search-adapter.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/search-model.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/scope-service-model.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/security-extension.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/serviceframework.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/wc-concurrent.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.portlet.server_11.1.1/oracle-portlet-api.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.portlet.server_11.1.1/wsrp-container.jar"/>
</path>
<path id="library.WebCenter.Spaces.Client">
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/webcenter-core-api.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/spaces-api.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/jdeveloper/webcenter/modules/oracle.webcenter.framework_11.1.1/spaces-webservice-client.jar"/>
</path>
<path id="library.ADF.Common.Runtime">
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.view_11.1.1/trinidad-api.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.share_11.1.1/adf-share-support.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-ca.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-base.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.share_11.1.1/adfsharembean.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.share_11.1.1/adflogginghandler.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.idm_11.1.1/identitystore.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.javacache_11.1.1/cache.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.security_11.1.1/adf-share-security.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.security_11.1.1/adf-controller-security.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle/modules/javax.activation_1.1.0.0_1-1.jar"/>
</path>
<path id="library.Webcenter-app-core-model.jar">
<pathelement location="../SourceFiles/lib/webcenter-app-core-model.jar"/>
</path>
<path id="library.Spaces-model.jar">
<pathelement location="../SourceFiles/lib/spaces-model.jar"/>
</path>
<path id="library.Spaces-model-web.jar">
<pathelement location="../SourceFiles/lib/spaces-model-web.jar"/>
</path>
<path id="library.MDS.Runtime">
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.mds_11.1.1/mdsrt.jar"/>
</path>
<path id="library.MDS.Runtime.Dependencies">
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.mds_11.1.1/oramds.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.share_11.1.1/adf-share-support.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.share_11.1.1/adflogginghandler.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-ca.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-base.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/modules/javax.servlet_1.0.0.0_2-5.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/modules/javax.jsp_1.2.0.0_2-1.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/wlserver_10.3/server/ext/jdbc/oracle/11g/ojdbc6_g.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/jlib/commons-cli-1.0.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.share_11.1.1/commons-el.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.share_11.1.1/jsp-el-api.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.adf.share_11.1.1/oracle-el.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.bali.share_11.1.1/share.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.xmlef_11.1.1/xmlef.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.dms_11.1.1/dms.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle/modules/javax.activation_1.1.0.0_1-1.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.xdk_11.1.0/xml.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.xdk_11.1.0/xmlparserv2.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.javacache_11.1.1/cache.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.ucp_11.1.0.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.odl_11.1.1/ojdl.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.javatools_11.1.1/javatools-nodeps.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.jmx_11.1.1/jmxframework.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/oracle_common/modules/oracle.jmx_11.1.1/jmxspi.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/modules/javax.management_1.2.1.jar"/>
<pathelement location="${jdeveloper.install.home.directory}/modules/javax.management.j2ee_1.0.jar"/>
</path>
<path id="classpath">
<path refid="library.JSF.1.2"/>
<path refid="library.WebCenter.Common"/>
<path refid="library.WebCenter.Spaces.Client"/>
<path refid="library.ADF.Common.Runtime"/>
<path refid="library.Webcenter-app-core-model.jar"/>
<path refid="library.Spaces-model.jar"/>
<path refid="library.Spaces-model-web.jar"/>
<path refid="library.MDS.Runtime"/>
<path refid="library.MDS.Runtime.Dependencies"/>
<path refid="custom.profile.attribute.classpath"/>
</path>
<echo> ----Pre custom java code ---</echo>
<javac destdir="${custom.java.code.home}/classes" classpathref="classpath"
debug="${javac.debug}" nowarn="${javac.nowarn}"
deprecation="${javac.deprecation}" encoding="Cp1252" source="1.6"
target="1.6">
<src path="${custom.java.code.home}/src"/>
</javac>
<patternset id="copy.java.code.patterns">
<include name="**/*.gif"/>
<include name="**/*.GIF"/>
<include name="**/*.jpg"/>
<include name="**/*.JPG"/>
<include name="**/*.jpeg"/>
<include name="**/*.JPEG"/>
<include name="**/*.png"/>
<include name="**/*.PNG"/>
<include name="**/*.properties"/>
<include name="**/*.xml"/>
<include name="**/*.ejx"/>
<include name="**/*.xcfg"/>
<include name="**/*.cpx"/>
<include name="**/*.dcx"/>
<include name="**/*.sva"/>
<include name="**/*.wsdl"/>
<include name="**/*.ini"/>
<include name="**/*.tld"/>
<include name="**/*.tag"/>
<include name="**/*.xlf"/>
<include name="**/*.xsl"/>
<include name="**/*.xsd"/>
</patternset>
<copy todir="${custom.java.code.home}/classes">
<fileset dir="${custom.java.code.home}/src">
<patternset refid="copy.java.code.patterns"/>
</fileset>
</copy>
</target>
<target name="stage" description="Deploy JDeveloper profiles"
depends="init, pre-compile">
<echo> ----Compiling Custom Java Code ---</echo>
<ora:ojdeploy xmlns:ora="oraclelib:OJDeployAntTask"
executable="${oracle.jdeveloper.ojdeploy.path}"
ora:buildscript="${custom.java.code.out.dir}/ojdeploy-build.xml"
ora:statuslog="${custom.java.code.out.dir}/ojdeploy-statuslog.xml">
<ora:deploy>
<ora:parameter name="workspace"
value="${oracle.jdeveloper.workspace.path}"/>
<ora:parameter name="project"
value="JavaCodeAndSessionTimeout"/>
<ora:parameter name="profile"
value="custom_webcenter_spaces_customJavaCode"/>
<ora:parameter name="nocompile" value="false"/>
<ora:parameter name="outputfile"
value="${custom.java.code.jar.name}"/>
</ora:deploy>
</ora:ojdeploy>
<echo> ----Compling Custom WebCenterSpaces ---</echo>
<ora:ojdeploy xmlns:ora="oraclelib:OJDeployAntTask"
executable="${oracle.jdeveloper.ojdeploy.path}"
ora:buildscript="${oracle.jdeveloper.deploy.dir}/ojdeploy-build.xml"
ora:statuslog="${oracle.jdeveloper.deploy.dir}/ojdeploy-statuslog.xml">
<ora:deploy>
<ora:parameter name="workspace"
value="${oracle.jdeveloper.workspace.path}"/>
<ora:parameter name="project"
value="${oracle.jdeveloper.project.name}"/>
<ora:parameter name="profile"
value="custom_webcenter_spaces_war"/>
<ora:parameter name="nocompile" value="false"/>
<ora:parameter name="outputfile"
value="${oracle.jdeveloper.deploy.outputfile}"/>
</ora:deploy>
</ora:ojdeploy>
<echo> Wrote the war to the following
location ${oracle.jdeveloper.deploy.dir}/${shared.library.name} </echo>
<mkdir dir="${oracle.jdeveloper.deploy.dir}/exploded"/>
<mkdir dir="${oracle.jdeveloper.deploy.dir}/exploded/${customer.library.name}.war"/>
<unzip src="${oracle.jdeveloper.deploy.dir}/${shared.library.name}"
dest="${oracle.jdeveloper.deploy.dir}/exploded/${customer.library.name}.war"/>
</target>
<target name="init-wls">
<path id="wls.classpath">
<pathelement path="${wls.home}/server/lib/weblogic.jar"/>
<pathelement path="${wls.home}/server/lib/xqrl.jar"/>
</path>
<taskdef name="wldeploy" classpathref="wls.classpath"
classname="weblogic.ant.taskdefs.management.WLDeploy"/>
</target>
</project> -
Are the WLS 9.1 Web Service Ant Tasks ready for prime time?
I am trying to create a Proof of Concept (POC) for Enterprise and B2B Services at Wendy's Int'l, Inc.
As part of this POC, I created a WSDL for an in-house service and then used the wsdlc and jwsc Ant Tasks to translate this WSDL to Java classes and ultimately (I hoped) a deployable services.
In this document, I describe the issues I encountered setting up what I consider to be a simple POC.
I'll try to attach my WSDL file and build.xml so you can follow along.
I'll also try to attach my CSS file so you can compare how the generated WSDL appears in the Browser to the way I want it to appear.
If attachments are not allowed on these forums, then I will wait and see if there is interest in those documents before I paste them under this topic.
Some preliminary information about my environment.
Environment:
Windows XP Pro SP2
WebLogic 9.1
Java 1.5.0_04
Service Name:
AppRelease
Note: If I modify my WSDL (perhaps to add a new Operation or to change the definition of an element) and run wsdlc again, the AppReleaseSOAPPortImpl.java file is overwritten For this reason, I implemented my service logic in a class called AppReleaseServiceImple.java.
Now, for the issues.
1. Bug:
In the WSDL generated by wsdlc, the wsdl:part child of the wsdl:message tag is erroneously prefixed with a colon.
This occurs whether or not I specify a prefix for the http://schemas.xmlsoap.org/wsdl/ namespace.
Work around: Extract the wsdl from the jar file, fix it and add it back into the jar.
2. Bug:
In the WSDL generated by wsdlc, the wsdl:input and wsdl:output children of the wsdl:operation child of wsdl:portType tag are erroneously prefixed with a colon. Like 1 above, this occurs whether or not I specify a prefix for the http://schemas.xmlsoap.org/wsdl/ namespace.
Work around: Extract the wsdl from the jar file, fix it and add it back into the jar.
The error message generated by Bugs 1 and 2 is not helpful in diagnosing the problem:
[jwsc] Error at line:46 col:7 ':' expected [?! -- [CDATA[ ]
3. Bug:
In the WSDL generated by wsdlc, the documentation elements have all of my html elements stripped out, as well as my xhtml and wsdl namespace references. This completely negates one of the best features of the documentation tag, being able to present the WSDL in a browser as a nicely formatted, human friendly document which is also the underlying WSDL that can be viewed when the person views the source document.
I label this as a bug because it greatly reduces the functionality of the resulting WSDL.
4. Annoyance:
The WSDL generated by wsdlc has all of my comments stripped out, except the comments in the xsd:schema section of the wsdl:types element. I would prefer that all my comments be left in the WSDL, but if comments must be stripped out then I think all of the comments should be stripped out.
5. Annoyance:
The WSDL generated by wsdlc has my CSS specification stripped.
Work around: I don’t know if adding the CSS back will do any good because I have not yet created a deployable service (see the last issue below).
6. Annoyance:
The WSDL generated by wsdlc has different namespace prefixes than the ones I specified for my application's namespace and for the http://schemas.xmlsoap.org/wsdl/soap/ namespace.
Work around: Perform a find/replace on namespace prefixes "s0" and "s1" to return them to my prefered values.
Another thing I can do at this point is simply replace the generated WSDL in the jar file with my original WSDL. This would address issues 1 thru 6 above.
7. Annoyance:
The java source files created by wsdlc are put into a jar file. This makes it annoying when working within a traditional IDE like Eclipse because there is no way to reference the source files within the jar as working source.
Work around: Extract the source files from the jar and identify the resulting directory structure as part of the source structure of the project.
8. Bug:
The jwsc task complains if the same parameter name is used in multiple operations. I received the following Errors from jwsc:
[jwsc] C:\IDE\workspace\Acre-WL9.1\AppReleaseSOAPPort.java 0:0
[jwsc] [ERROR] - Parameter element "{http://acre.services.wendys.com/AppRelease/}garRequest" is not unique across document/literal bare WebService.
Since the operation names are unique, I see no reason to also require uniqueness in the parameter names used by those operations.
Work around: Use unique element names for the input parameters of the services operations.
9. Bug:
Once items 1, 2 and 8 above are taken care of, jwsc fails with the following error:
java.lang.AssertionError: java.lang.ClassNotFoundException: weblogic.j2ee.descriptor.ApplicationBeanImpl
This seems to be due to the weblogic.jar file not being in the System Classpath.
However, I should note that when I set verbose="on" and debug="on" in the jwsc ant task, there was a message from the task which stated "[jwsc] [search path for class files: [big freakin’ jar list]". In the big freakin’ jar list, I did find weblogic.jar and weblogic.jar has the required ApplicationBeanImpl. This indicates to me that the jwsc task does not fully honor either its classpathref attribute, nor an embedded classpath element.
Work around: Make sure the weblogic.jar is in the System Classpath.
10. Bug:
I fixed bug #9 by running a setDomainEnv script and then ran my ant task. This time I received the following output:
ant build-serviceBuildfile: build.xml
build-service:
[jwsc] 1 JWS files will be processed.
[jwsc] Processing JWS: C:\IDE\workspace\Acre-WL9.1\src\com\wendys\services\acre\AppReleaseServiceImpl.java
[jwsc] JWS: C:\IDE\workspace\Acre-WL9.1\src\com\wendys\services\acre\AppReleaseServiceImpl.java Validated.
[AntUtil.deleteDir] Deleting directory <some temporary directory>
BUILD FAILED
java.lang.ExceptionInInitializerError
At this point, I am completely stymied about how to proceed.
I wonder what new issues await once this 10th issue is addressed.
Really, is this tool set ready for prime time?<i>Sorry to hear you are having so many issues with using the WLS 9.1 web service Ant tasks, inside of Eclipse.
I generally create a User Library for the couple weblogic jars needed, and use it (the User Library) in my Eclipse projects that I create JWSes in.</i><br>
I also have a separate WebLogic Library in Eclipse (actually 2 libraries since I work with WL 8.1 and now WL 9.1). As you may know, one of the long-standing issues with the Ant integration within Eclipse is the fact that Ant, being an External Tool, does not receive the Project-specific Paths/Libraries. However, since most Java-relevant Ant tasks can take classpath and classpathref attributes, this is usually not an issue. In the case of the BEA-supplied wsdlc Ant task, it is apparent from the verbose/debug console output that wsdlc can see the jars in its classpathref, but it ignores those references when resolving class references and instead only uses the system classpath.
<p>
<i>I've only needed the weblogic.jar and xbean.jar, not all the ones you mentioned in an earlier thread of this post.</i><br>
I have not tried to winnow down exactly which jars are required. I simply included all the jars that exist and were added to the system classpath by the setDomainEnv.bat file created by WebLogic 9.1.
<p>
<i>Afterwards, I create an Ant Builder to build the JWS Web Service EAR, as opposed to fiddlin' with Eclipse.</i><br>
I too use Ant to build my deployable archives. Eclipse is simply my IDE of choice. I validated that all the issues I listed occurred when running Ant from the command line.
<p>
<i>If you are interested in how I do it, send me an e-mail (to [email protected]), and I'll send you a zip of one of these JWS projects. The build.xml script for the project, takes care of a lot of the "annoyances" you mentioned, one of which I think is not accurate. I have never had a situation where the wsdlc Ant task "overwrote" my XXXImpl.java file..</i><br>
Since I'm doing a POC to determine how we want to proceed with developing Web Services and an SOA in general, I tried to perform the same tasks using Axis 2 1.0, the WebLogic 9.1 tools, and XFire 1.1. Overwriting the Impl class is a common failing in the tools which take a WSDL and create Java source files for all three frameworks.
<p>
Try my scenario. Add another operation to an existing WSDL, and run the wsdlc Ant Task. The old IMPL class will be over-written.
<p>
Because of this, I have a separate Impl class and I make sure that all its methods and annotations match the methods and annotations in the Skeleton Impl class created by wsdlc.
<p>
<i>Maybe that's because I use the <exec> Ant task with jar.exe (the xvf options) in my build.xml, to only get what I need out of the .jar/.zip the wsdlc generates. I'm typically only interest in the interface class that my XXXImpl.java file needs to implements, because I use XMLBeans for the input args (and return values) of my web service operations.</i><br>
Perhaps. I am not using XMLBeans in any of the three frameworks because the resulting service seems to be lighter-weight in all three frameworks if XMLBeans is not used. I'm sure there will be scenarios where XMLBeans is preferred, but I have not encountered that case in this POC.
<p>
<i>Regards,
Mike Wooten</i>
Thanks for the follow-up.
Mike McAngus -
Ant task cyclic library refrence
Hello everyone,
I am using flex ant task from my Flash builder to compile application. Its working fine and I am able to get the output. But the problem is whenever I use a library in my main project which is refrencing other library than I am unable to find refrence of components in lib 2. Below is the structure
NewLib >> contains a NewLibGrid(which is a normal spark grid)
MainLib >> ExtPanel which includes NewLibGrid from NewLib .
MainApp >> This uses ExtPanel
No I am getting error during ant compilation
[compc] D:\Data\Flex\Projects\CompLib\src\ExtPanel.mxml: Error: Could not resolve <local:NewLibGrid> to a component implementation.
Here is part of antscript I am using
<target name="lib1" depends="lib2">
<compc output="${STAGE_DIR}/stagingDir/CompLib.swc"
keep-generated-actionscript="${DEBUG}"
debug="${DEBUG}"
optimize="${OPTIMIZE}"
target-player="${TARGET_FLASH_PLAYER}"
include-classes="ExtPanel">
<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/framework.swc">
<url rsl-url="framework_${FLEX_VERSION}.swf"/>
<url rsl-url="framework_${FLEX_VERSION}.swz"/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${PROJ_HOME}/NewLib/bin/NewLib.swc">
<url rsl-url="${PROJ_HOME}/NewLib/bin/NewLib.swf"/>
<url rsl-url="${PROJ_HOME}/NewLib/bin/NewLib.swz"/>
</runtime-shared-library-path>
<compiler.library-path dir=".." append="true">
<include name="Common/libraries"/>
<exclude name="global_library.swc" />
</compiler.library-path>
<source-path path-element="../CompLib/src" />
</compc>
</target>
<target name="lib2">
<compc output="${STAGE_DIR}/stagingDir/NewLib.swc"
keep-generated-actionscript="${DEBUG}"
debug="${DEBUG}"
optimize="${OPTIMIZE}"
target-player="${TARGET_FLASH_PLAYER}"
include-classes="NewLibGrid">
<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/framework.swc">
<url rsl-url="framework_${FLEX_VERSION}.swf"/>
<url rsl-url="framework_${FLEX_VERSION}.swz"/>
</runtime-shared-library-path>
<compiler.library-path dir=".." append="true">
<include name="Common/libraries"/>
<exclude name="global_library.swc" />
</compiler.library-path>
<source-path path-element="../NewLib/src" />
</compc>
</target><mxmlc
file="${project.name}/src/Test.mxml"
output="${build.mxmlc.dir}/Test.swf"
static-link-runtime-shared-libraries="true"
>
<load-config filename="${air.config}"/>
<source-path path-element="${project.name}/src" />
<runtime-shared-library-path path-element="${flex.frameworks.dir}/libs/framework.swc">
<url rsl-url="${rsl.dir}/framework_3.2.0.3958.swz"/>
<url rsl-url="${rsl.dir}/framework_3.2.0.3958.swf"/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${flex.frameworks.dir}/libs/datavisualization.swc">
<url rsl-url="${rsl.dir}/datavisualization_3.2.0.3958.swf"/>
</runtime-shared-library-path>
</mxmlc>
This also seems to work. AIR libraries are included in my output SWF. It all happens right when I have static-link-runtime-shared-libraries="true" . Why? Why does that not work when i have static-link-runtime-shared-libraries="false" ?? -
Compc ant task and external framework
I'm writing an ant task to compile a couple of libraries into
SWCs and then a shell app (that uses the libraries) into a SWF for
deployment. If I compile the libraries by hand then run just the
'mxmlc' part of my ant script it compiles fine. However when I try
and first compile a library into a SWC with 'compc' it compiles but
then the shell app complains that the classes from the library are
missing. One thing that may be causing the problem is my library
path (through flex builder) has it's framework.swc set to 'Link
Type: External' and I'm not sure how to define that with 'compc'.
The weird thing is the flex builder compiled and 'compc' compiled
SWCs are the same size. Here's my target for 'compc':<mxmlc
file="${project.name}/src/Test.mxml"
output="${build.mxmlc.dir}/Test.swf"
static-link-runtime-shared-libraries="true"
>
<load-config filename="${air.config}"/>
<source-path path-element="${project.name}/src" />
<runtime-shared-library-path path-element="${flex.frameworks.dir}/libs/framework.swc">
<url rsl-url="${rsl.dir}/framework_3.2.0.3958.swz"/>
<url rsl-url="${rsl.dir}/framework_3.2.0.3958.swf"/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${flex.frameworks.dir}/libs/datavisualization.swc">
<url rsl-url="${rsl.dir}/datavisualization_3.2.0.3958.swf"/>
</runtime-shared-library-path>
</mxmlc>
This also seems to work. AIR libraries are included in my output SWF. It all happens right when I have static-link-runtime-shared-libraries="true" . Why? Why does that not work when i have static-link-runtime-shared-libraries="false" ?? -
Meta migration ant task throw exception
Hi,
I am trying the migration from kodo 2 to 3.
I successfully migrated the properties file using the integrated ant
task; but run into some problem with the meta data migration (the *.jdo
files). following is the ant task I am using:
<target name="migrate-meta" depends="init, prepare-jdo-meta, compile" >
<!-- define the kodo2migrator task; this can be done at the top
of -->
<!-- the build.xml file, so it will be available for all
targets -->
<taskdef name="kodo2migrator"
classname="kodo.jdbc.ant.Kodo2MigratorTask">
<classpath>
<pathelement
path="${java.class.path}:${project.classpath}:${project.build.jdometa.dtd}"/>
</classpath>
</taskdef>
<!-- invoke migrator on all .jdo files below the src directory -->
<kodo2migrator>
<classpath>
<pathelement
path="${java.class.path}:${project.classpath}:${project.build.jdometa.dtd}"/>
</classpath>
<fileset dir="${project.kodo.src}">
<include name="**/*.jdo" />
</fileset>
<config properties="${jdo.properties}" />
</kodo2migrator>
</target>
the exception it is throwning is :
[kodo2migrator] kodo.jdbc.migration.kodo2.util.FatalUserException: The
specified driver class "null" is neither a java.sql.Driver nor a
javax.sql.DataSource. Please specify a valid driver in the
javax.jdo.option.ConnectionDriverName property.
[kodo2migrator] at
kodo.jdbc.migration.kodo2.schema.ConfigurationConnector.createConnectionFactory(ConfigurationConnector.java:108)
[kodo2migrator] at
kodo.jdbc.migration.kodo2.schema.ConfigurationConnector.<init>(ConfigurationConnector.java:65)
[kodo2migrator] at
kodo.jdbc.migration.kodo2.schema.ConfigurationConnector.<init>(ConfigurationConnector.java:57)
[kodo2migrator] at
kodo.jdbc.migration.kodo2.schema.ConfigurationConnector.<init>(ConfigurationConnector.java:37)
[kodo2migrator] at
kodo.jdbc.migration.kodo2.Kodo2Migrator.migrate(Kodo2Migrator.java:161)
[kodo2migrator] at
kodo.jdbc.migration.kodo2.Kodo2Migrator.run(Kodo2Migrator.java:1141)
[kodo2migrator] at
kodo.jdbc.ant.Kodo2MigratorTask.executeOn(Kodo2MigratorTask.java:53)
[kodo2migrator] at
com.solarmetric.ant.TaskBase.execute(TaskBase.java:105)
[kodo2migrator] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
[kodo2migrator] at org.apache.tools.ant.Task.perform(Task.java:341)
[kodo2migrator] at
org.apache.tools.ant.Target.execute(Target.java:309)
[kodo2migrator] at
org.apache.tools.ant.Target.performTasks(Target.java:336)
[kodo2migrator] at
org.apache.tools.ant.Project.executeTarget(Project.java:1339)
[kodo2migrator] at
org.apache.tools.ant.Project.executeTargets(Project.java:1255)
[kodo2migrator] at org.apache.tools.ant.Main.runBuild(Main.java:609)
[kodo2migrator] at org.apache.tools.ant.Main.start(Main.java:196)
[kodo2migrator] at org.apache.tools.ant.Main.main(Main.java:235)
BUILD FAILED
file:/home/tyang/eclipse/workspace/UMA/build.xml:208:
kodo.jdbc.migration.kodo2.util.FatalUserException: The specified driver
class "null" is neither a java.sql.Driver nor a javax.sql.DataSource.
Please specify a valid driver in the
javax.jdo.option.ConnectionDriverName property.
the properties file I am using is like this: (just a snipet)
javax.jdo.PersistenceManagerFactoryClass:
kodo.jdbc.runtime.JDBCPersistenceManagerFactory
javax.jdo.option.ConnectionDriverName: org.postgresql.Driver
javax.jdo.option.ConnectionURL: jdbc:postgresql://127.0.0.1/cwdevdb
javax.jdo.option.ConnectionUserName: cwdev
javax.jdo.option.ConnectionPassword:
javax.jdo.option.DefaultFetchBatchSize: 10
javax.jdo.option.DefaultFetchThreshold: 30
javax.jdo.option.IgnoreCache: true
javax.jdo.option.NontransactionalRead: true
javax.jdo.option.NontransactionalWrite: false
javax.jdo.option.Optimistic: true
javax.jdo.option.RestoreValues: false
javax.jdo.option.RetainValues: false
kodo.ConnectionFactoryProperties: MaxActive=20, MaxWait=5000
kodo.ConnectionRetainMode: persistence-manager
kodo.DataCache: true(CacheSize=10000)
kodo.LicenseKey: xxxx-xxxx-xxxx-xxxx-xxxx
kodo.ManagedRuntime: TransactionManagerName=java:/TransactionManager
kodo.PersistenceManagerImpl: CloseOnManagedCommit=true
kodo.QueryCache: true
kodo.RemoteCommitProvider: sjvm(Topic=topic/KodoCacheTopic)
kodo.jdbc.DBDictionary: postgres(StoreCharsAsNumbers=false)
kodo.jdbc.SequenceFactory: PrimaryKeyColumn=PKX,
SequenceColumn=SEQUENCEX, TableName=JDO_SEQUENCEX
To make sure this IS the one it is using, not only I echo out the
"${jdo.properties}" value, but also I tried to comment out the
licenseKey line, then it threw "license key invalid" exception. so I am
sure this is the properties file I am using in that ant task.
Also I tried using the command line on one of our classes, it does not
run into this problem.
Any clue what I am missing?
Thanks a lot,
TaoThe 3.0.0 migrator task has a couple of bugs. These will be ironed out
in 3.0.1, which is due for release any day now. But if you must work
around the bugs immediately, you'll have to:
1. Run the task using your old properties file. Actually this will be a
requirement even in 3.0.1; that's why in the migration chapter of the
docs we say to migrate your metadata before your properties. The
migration tool needs to access 2.5 properties to map your classes properly.
2. Add the the following property to your old properties file:
kodo.LicenseKey: <your license key>
3. Name the properties file "kodo.properties" and place it in one of the
directories listed in the ant task's CLASSPATH. If that doesn't work,
place it in a directory in your system CLASSPATH. The 3.0.0 task has
some classpath problems, and also the <config> task element doesn't work.
Or, you could just set your system CLASSPATH and run the kodo2migrator
tool from the command line.
I hope this helps. As I said, 3.0.1 resolves these ant problems, and
will be released very shortly. -
Hello all. I've been using the MXMLC servlet compiler that
comes with the fds-tomcat tutorial. I have recently tried to
compile with MXMLC using the ant task. The application compiles the
swf correctly except it cant seem to find the spring services I had
configured.
[MessagingError message='Unknown destination 'xxxxx'.']
Now, when I go and try to get the servlet to compile it; ie:
Bringing up the MXML file from the web browser, it works fine. Can
Anybody identify what i'm doing wrong?Hey
After scratching my head for couple hours and wrestling with
the FDS configuration I have managed to get the application going.
Here is my ant target
<taskdef resource="flexTasks.tasks"
classpath="${file.flexTasks.jar}" />
<mxmlc file="${flex.main.file}"
keep-generated-actionscript="true"
use-network="true" output="${flex.output.file}"
as3="true" es="false"
benchmark="true" debug="true"
optimize="true" services="${file.flex.services.conf}"
context-root="/analytics" strict="true" >
<!--Third party classes -->
<compiler.library-path dir="${flex.user.classes.dir}"
append="true">
<include name="Cairngorm.swc" />
<include name="CairngormEnterprise.swc" />
</compiler.library-path>
<!--XDoclet generated DTOs -->
<compiler.source-path
path-element="${flex.actionscript.output.dir}"/>
</mxmlc>
Maybe you are looking for
-
Hello I am new to winforms. I have a listview. I want it to toggle the sorting of the records of the listview when the columns are clicked Please guide me as to how to do the same. The code that I have attached does the sorting but it is extremely sl
-
Can I drag and drop songs into my playlists or is that over?
Without that tool I'm buying literally a tenth of the music that I used to - because I don't want to have to buy then sort. I always did it the other way around. Stuck a song in my list. Listened more carefully later. Then purchased. Why is innovatio
-
Does the iphone 4 have 4g ?
I was Wondering if the iphine 4 has 4G compability ?
-
I am looking into an upgrade for my company's Acrobat software from Acrobat 9 to XI Standard. All of the licenses for Acrobat 9 are OEM, and my IT consultant (and CDW) are informing me that I cannot upgrade from OEM, that I must purchase brand-new l
-
Hello All, We are using lookup field value in assignment. field1 is lookup field and Lookup table has only one field Name Name a b c Field2 is lookup field and Lookup table(Cross Ref) has 2 fields Name1 Name2 Name1 Name2 (Display fie