I've setup SmartTarget on a separate server and got the SmartTarget Deployment Web Service working so when content is published from Tridion, instead of dropping the XML content generated on the local file system it sends it via the web service to the server where Fredhopper is installed. All good so far...
The problem I have is the deployed XML files are being dropped in Fredhoppers root directory C:\fredhopper\instance01\FAS and not the directory where XML files are loaded from (C:\fredhopper\instance01\FAS\data\xml\incoming\batch)! The only place I've found in configuration for specifying the correct pickup directory is in the SmartTargetDeploymentWebService.properties file in SmartTargetDeploymentWebService.war, but this is setup correctly to point at C:\fredhopper\instance01\FAS\data\xml\incoming\batch
Anyone know what might be causing this? I might just be being stupid so hopefully someone with some experience will be able to point me in the right direction ;)
UPDATE: Spotted this in the logs for when the deployment service first loads:
2012-07-19 12:56:05,909 ERROR SmartTargetDeployment - Unable to load configuration for fredhopper.location
java.lang.NullPointerException: null
at java.util.Properties$LineReader.readLine(Properties.java:418) ~[na:1.6.0_23]
at java.util.Properties.load0(Properties.java:337) ~[na:1.6.0_23]
at java.util.Properties.load(Properties.java:325) ~[na:1.6.0_23]
at com.tridion.smarttarget.web.SmartTargetDeployment.<init>(SmartTargetDeployment.java:33) ~[classes/:na]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [na:1.6.0_23]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) [na:1.6.0_23]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) [na:1.6.0_23]
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [na:1.6.0_23]
at java.lang.Class.newInstance0(Class.java:355) [na:1.6.0_23]
at java.lang.Class.newInstance(Class.java:308) [na:1.6.0_23]
at com.sun.xml.ws.api.server.InstanceResolver.createNewInstance(InstanceResolver.java:215) [webservices-rt-1.4.jar:1.0]
at com.sun.xml.ws.api.server.InstanceResolver.createDefault(InstanceResolver.java:180) [webservices-rt-1.4.jar:1.0]
at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:124) [webservices-rt-1.4.jar:1.0]
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:467) [webservices-rt-1.4.jar:1.0]
at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:253) [webservices-rt-1.4.jar:1.0]
at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:147) [webservices-rt-1.4.jar:1.0]
at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:108) [webservices-rt-1.4.jar:1.0]
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3669) [tmp6105104870192773276catalina.jar:na]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4104) [tmp6105104870192773276catalina.jar:na]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) [tmp6105104870192773276catalina.jar:na]
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739) [tmp6105104870192773276catalina.jar:na]
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524) [tmp6105104870192773276catalina.jar:na]
Can you check the location specified in WEB-INF/classes/SmartTargetDeploymentWebService_conf.xml?
According to the documentation, that's where the location should be set.