Weblogic10, BlazeDS, FlashBuilder4, Error setup remoting-service bind
i am really not sure what else to try, any help will be appreciated. Thank you
1) I am using weblogic 10, flashbuilder4 eclipse plugin, everything is running off windows xp.
2) I deployed the blazeds tomcat samples on weblogic 10 and was able to successfully bind its remote-service to a new project DataGrid in fb4, everything works fine.
3) I then modified the samples to use my own java class. On the last step of the Data provider binding in fb4, when I select the destination and click on finish button it says:
"com.hello.test.ProductSearch is not available in the specified location. Try importing by unselecting the destniation productsearch"
I verified the class files are deployed properly on weblogic and http://localhost:7001/hello/messagebroker/amf doesnt show an error.
Also when i deploy the same file location to tomcat, it works fine. So to summarize: 1) BlazeDS sample works fine in both weblogic10 and tomcat 2) My com.hello.test.ProductSearch works fine in tomcat but gives above error in weblogic10.
So looks like issue is with weblogic 10 deployment, I am just using default standard weblogic10 deployment. Not sure what the problem is, been at it for days now.
------------------------------
remoting-config.xml
<adapters>
<adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
</adapters>
<default-channels>
<channel ref="my-amf"/>
</default-channels>
<destination id="productsearch">
<properties>
<source>com.hello.test.ProductSearch</source>
</properties>
</destinat开发者_如何学Cion>
services-config.xml
<services>
<service-include file-path="remoting-config.xml" />
<default-channels>
<channel ref="my-amf"/>
</default-channels>
</services>
<channels>
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>false</polling-enabled>
</properties>
</channel-definition>
</channels>
<logging>
<!-- You may also use flex.messaging.log.ServletLogTarget -->
<target class="flex.messaging.log.ConsoleTarget" level="Error">
<properties>
<prefix>[BlazeDS] </prefix>
<includeDate>false</includeDate>
<includeTime>false</includeTime>
<includeLevel>true</includeLevel>
<includeCategory>false</includeCategory>
</properties>
<filters>
<pattern>Endpoint.*</pattern>
<pattern>Service.*</pattern>
<pattern>Configuration</pattern>
</filters>
</target>
</logging>
<system>
<redeploy>
<enabled>true</enabled>
<watch-interval>20</watch-interval>
<watch-file>{context.root}/WEB-INF/flex/services-config.xml</watch-fi le>
<watch-file>{context.root}/WEB-INF/flex/remoting-config.xml</watch-fi le>
<touch-file>{context.root}/WEB-INF/web.xml</touch-file>
</redeploy>
</system>
ProductSearch.java
package com.hello.test;
import java.util.ArrayList;
import java.util.List;
public class ProductSearch
{
public AttributeVO[] search()
{
List<AttributeVO> retList = new ArrayList<AttributeVO>();
retList.add(new AttributeVO("one","two", "three","four"));
retList.add(new AttributeVO("five","six", "seven","eight"));
return retList.toArray(new AttributeVO[retList.size()]);
}
}
AttributeVO.java
package com.hello.test;
import java.io.Serializable;
public class AttributeVO implements Serializable
{
static final long serialVersionUID = 1L;
private String val1;
private String val2;
private String val3;
private String val4;
public AttributeVO()
{}
etc... all get getter/setters
}
SOLVED. I compiled the server side java using jdk 1.6, apparently the latest version of blazeDS isnt compatible with 1.6 (of course it doesnt just tell you, that would be too easy).
Once i recompiled using jdk 1.5 everything worked.
Talk about frustration..
精彩评论