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#a9904587
Sent from the ServiceMix - User mailing list archive at Nabble.com.