When fork=false, -uri src/main/..... doesn't work, but -uri
${project.basedir}/src/main...... works. In my example, when we are
inside components\gadgets\org.wso2.carbon.gadget.editor.ui,
both are same. However, when inside components\gadgets, the WSDL uri is
taken as components\gadgets\src\main\resources when -uri
src/main/resources/... and it is taken as
components\gadgets\org.wso2.carbon.gadget.editor.ui\src\main\resources when
-uri ${project.basedir}/src/main.....

Shankar

On Tue, Jan 18, 2011 at 7:44 PM, Sumedha Rubasinghe <sume...@wso2.com>wrote:

> Shankar,
> AFAIR
> -uri ${project.basedir}/src/main......
> and
> -uri src/main/.....
>
> are the same.
>
> /sumedha
>
> On Tue, Jan 18, 2011 at 7:12 PM, Selvaratnam Uthaiyashankar <
> shan...@wso2.com> wrote:
>
>> Hi,
>>
>> When building ui components, it generates code from given wsdl using
>> WSDL2Java. However, it fails with following error
>>
>>      [java] java.io.IOException: Cannot run program "C:\Program
>> Files\Java\jdk1.6.0_13\jre\bin\java.exe": CreateProcess error=87, The
>> parameter is inc
>> orrect
>>      [java]     at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
>>      [java]     at java.lang.Runtime.exec(Runtime.java:593)
>>      [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)
>>      [java]     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>      [java]     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>      [java]     at java.lang.reflect.Method.invoke(Method.java:597)
>>      [java]     at
>> org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:834)
>>      [java]     at
>> org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:435)
>>      [java]     at
>> org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:449)
>>      [java]     at org.apache.tools.ant.taskdefs.Java.fork(Java.java:751)
>>      [java]     at
>> org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:171)
>>      [java]     at
>> org.apache.tools.ant.taskdefs.Java.execute(Java.java:84)
>>      [java]     at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>>      [java]     at org.apache.tools.ant.Task.perform(Task.java:364)
>>      [java]     at org.apache.tools.ant.Target.execute(Target.java:341)
>>      [java]     at
>> org.apache.maven.plugin.antrun.AbstractAntMojo.executeTasks(AbstractAntMojo.java:108)
>>      [java]     at
>> org.apache.maven.plugin.antrun.AntRunMojo.execute(AntRunMojo.java:83)
>>      [java]     at
>> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
>>      [java]     at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
>>      [java]     at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
>>      [java]     at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
>>      [java]     at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
>>      [java]     at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
>>      [java]     at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
>>      [java]     at
>> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
>>      [java]     at
>> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
>>      [java]     at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
>>      [java]     at
>> org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
>>      [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)
>>      [java]     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>      [java]     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>      [java]     at java.lang.reflect.Method.invoke(Method.java:597)
>>      [java]     at
>> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>>      [java]     at
>> org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>>      [java]     at
>> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>>      [java]     at
>> org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>>      [java] Caused by: java.io.IOException: CreateProcess error=87, The
>> parameter is incorrect
>>      [java]     at java.lang.ProcessImpl.create(Native Method)
>>      [java]     at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
>>      [java]     at java.lang.ProcessImpl.start(ProcessImpl.java:30)
>>      [java]     at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
>>      [java]     ... 35 more
>> [INFO] Executed tasks
>> [INFO] [compiler:compile {execution: default-compile}]
>>
>>
>>
>> The reason is, the classpath is too long, and windows can have only
>> limited classpath. The corresponding ant task in pom.xml is as follows:
>> (Note that, I took components\gadgets\org.wso2.carbon.gadget.editor.ui as an
>> example, but most of the other *.ui components are also failing. )
>>
>>                             <tasks>
>>                                 <java
>> classname="org.apache.axis2.wsdl.WSDL2Java" fork="true">
>>                                     <arg line="-uri
>> src/main/resources/GadgetEditorService/GadgetEditorService.wsdl -u -uw -o
>> target/generated-code
>>                                     -p org.wso2.carbon.gadget.editor.ui
>>                                     -ns2p
>> http://services.editor.gadget.carbon.wso2.org
>> =org.wso2.carbon.gadget.editor.ui.services,http://utils.extensi
>>
>> ons.registry.carbon.wso2.org/xsd=org.wso2.carbon.gadget.editor.ui.beans.xsd,http://exceptions.core.registry.carbon.wso2.org/xsd=org.wso2.carbon.gadget
>> .editor.ui.exceptions.xsd"/>
>>                                     <classpath
>> refid="maven.dependency.classpath"/>
>>                                     <classpath
>> refid="maven.compile.classpath"/>
>>                                     <classpath
>> refid="maven.runtime.classpath"/>
>>                                 </java>
>>                             </tasks>
>>
>>
>> When we change the "fork" parameter to "false", it works correctly.
>> However, the WSDL and output directory are given relative to the component
>> directory and will work only if the fork="true". So, we can't build it from
>> some other location (e.g if the component is
>> "components\gadgets\org.wso2.carbon.gadget.editor.ui", we can build inside
>> this location, but the build will fail if we try to build from "components"
>> or "components\gadgets"). One possibility is giving absolute path for WSDL
>> and output directory.
>>
>> Modifying it as follows works without any issue:
>>
>>                             <tasks>
>>                                 <java
>> classname="org.apache.axis2.wsdl.WSDL2Java">
>>                                     <arg line="-uri
>> ${project.basedir}/src/main/resources/GadgetEditorService/GadgetEditorService.wsdl
>> -u -uw -o ${pro
>> ject.basedir}/target/generated-code
>>                                     -p org.wso2.carbon.gadget.editor.ui
>>                                     -ns2p
>> http://services.editor.gadget.carbon.wso2.org
>> =org.wso2.carbon.gadget.editor.ui.services,http://utils.extensi
>>
>> ons.registry.carbon.wso2.org/xsd=org.wso2.carbon.gadget.editor.ui.beans.xsd,http://exceptions.core.registry.carbon.wso2.org/xsd=org.wso2.carbon.gadget
>> .editor.ui.exceptions.xsd"/>
>>                                     <classpath
>> refid="maven.dependency.classpath"/>
>>                                     <classpath
>> refid="maven.compile.classpath"/>
>>                                     <classpath
>> refid="maven.runtime.classpath"/>
>>                                 </java>
>>                             </tasks>
>>
>> Is it ok to change as above? Any problem in above approach? Please give
>> your comments.
>>
>> Regards,
>> Shankar
>>
>> --
>> S.Uthaiyashankar
>> Senior Architect & Senior Manager
>> WSO2 Inc.
>> http://wso2.com/ - "lean . enterprise . middleware"
>>
>> _______________________________________________
>> Carbon-dev mailing list
>> Carbon-dev@wso2.org
>> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>
>>
>
> _______________________________________________
> Carbon-dev mailing list
> Carbon-dev@wso2.org
> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>
>


-- 
S.Uthaiyashankar
Senior Architect & Senior Manager
WSO2 Inc.
http://wso2.com/ - "lean . enterprise . middleware"
_______________________________________________
Carbon-dev mailing list
Carbon-dev@wso2.org
https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to