Hi Tom, This post really helped. Thanks! ...I just had another question for you...for some reason, the maven2 generate sources does not put the generated code in target/generated-sources. Any idea why this could be happening?
Thanks NP Tom Purcell wrote: > > Hello > > I made it through the Fuse tutorial and found some issues. I think they > have to do with the Tutorial being done with a slightly out of date > version of Fuse. I'm posting the discrepancies I found in the hope it > helps someone, somewhere. > > The Create Contract First Web Services In Fuse Tutorial: > > * When creating the first project you are instructed to select a > "JSR-181 Service based on WSDL" project from the "New Project" wizard. > That selection does not exist in the 1.3 version of the Fuse IDE. Choose > "Contract First Service" instead. > * In creating the WSDL you are instructed to add a "getPrice" method. > In the presentation the service Input changes to "getPriceRequest" and the > Output changes to "getPriceResponse". In my IDE the Output changed to > "getPriceResponse" but the Input changed to "getPrice". The difference had > no long term effect on the assembly or running of the tutorial but it did > cause me to stop and scratch my head for a bit. Clearly I did something > wrong. I did not. Neither did you. > * The next thing really got me. When the WSDL is done and its time to > generate source the presentation moves really quick and its difficult to > see exactly what gets clicked. The presenter right clicks on the > PricingService project , goes down to the "Build Phase" menu item and > selects "generate-sources". In Fuse IDE 1.3 "Build Phase", and therefore > its sub-selections, do not exist. Instead of "Build Phase" select "Run > As". Then select "Maven2 generate sources". > * Shortly after that you run into another menu issue. You're told you > need to "Synchronize with Maven" after you create a folder named "java". > There is no "Synchronize with Maven" in the menu. I could not figure out > what to do so I went into the pom.xml for the project and added the > following to the resources element: > > <resource> > <directory>src/main/java</directory> > </resource> > > * Things go pretty well up until you finish creating the PricingHttp > consumer. There you'll run into another descrepacncy in the Maven2 > implementation. You are instructed to select a project, right click, go > down the list of actions to "Build Phase" and select "install". Instead, > select the project, go down the list of actions to "Run As" and select > "Maven2 install". As instructed do this for both the PricingHttp and the > PricingService projects. > > * In running the install on the PricingService project I got some ugly > build errors: > > Unable to locate the Javac Compiler in: C:\Program > Files\Java\jre1.5.0_06\..\lib\tools.jarPlease ensure you are using JDK 1.4 > or above and... > > Note the "jre". I'm running the standard Sun 1.5.0_6 JDK. There is > no "tools.jar in the "jre" but there is one in the JDK. So, in Eclipse, I > went to Windows, Preferences, Java, Installed JREs and added the > "jdk1.5.0_6" by navigating to "C:\Program Files\Java\jdk1.5.0_06". I reran > the "Run As", "Maven2 install" and all was well. > * One last issue popped up: deployment failed. This is what I saw in > the projectDeply console: > > [WARN] Attempting to build MavenProject instance for Artifact of > type: jar; constructing POM artifact instead. > [INFO] ------------------ Deployment Analysis > -------------------- > [INFO] A custom project has 3 child dependencies > [INFO] - jbi-service-assembly : C:\Documents and > Settings\tom\.m2\repository\com\mycompany\PricingAssemply\1.0-SNAPSHOT\PricingAssemply-1.0-SNAPSHOT.zip > [INFO] - jbi-component : C:\Documents and > Settings\tom\.m2\repository\org\apache\servicemix\servicemix-http\fuse-3.1.0.2\servicemix-http-fuse-3.1.0.2-installer.zip > [INFO] - jbi-component : C:\Documents and > Settings\tom\.m2\repository\org\apache\servicemix\servicemix-jsr181\fuse-3.1.0.2\servicemix-jsr181-fuse-3.1.0.2-installer.zip > [INFO] - jbi-shared-library : C:\Documents and > Settings\tom\.m2\repository\org\apache\servicemix\servicemix-shared\fuse-3.1.0.2\servicemix-shared-fuse-3.1.0.2-installer.zip > [INFO] > ----------------------------------------------------------- > [INFO] PricingAssemply is not deployed > [INFO] Deploying jbi-service-assembly from C:\Documents and > Settings\tom\.m2\repository\com\mycompany\PricingAssemply\1.0-SNAPSHOT\PricingAssemply-1.0-SNAPSHOT.zip > [ERROR] mojo-execute : jbi:projectDeploy > Diagnosis: Unable to deploy project, Error accessing ServiceMix > administration > FATAL ERROR: Error executing Maven for a project > [ERROR] project-execute : > com.mycompany:PricingAssemply:jbi-service-assembly:1.0-SNAPSHOT ( > task-segment: [jbi:projectDeploy] ) > Diagnosis: Unable to deploy project, Error accessing ServiceMix > administration > FATAL ERROR: Error executing Maven for a project > > I wasn't sure that was helpful so I went to the server console and > found a pretty long stack trace with xml snippets and > IllegalArgumaentExceptions and all kinds of other nastyness but I'll cut > to the chase. Here was the important part: > > Caused by: java.net.URISyntaxException: Illegal character in > path at index 16: file:/C:/Program Files/FUSE-1.3.0/FUSE-1.3.0/data/s.... > > We don't need the whole line because if we count to 16 we find out > the "Illegal character" is the <space> in "Program<space>Files" of the > windows directory where the Fuse install placed the server. I copied the > entire "FUSE-1.3.0" directory structure up one level (so that "Program > Files" was no longer part of the path) and from that point on it was > smooth sailing. > > Thanks > Tom > > -- View this message in context: http://www.nabble.com/Fuse-Tutorial-Issues-and-Solutions-tf3548010s12049.html#a13494671 Sent from the ServiceMix - User mailing list archive at Nabble.com.
