Weblogic10, BlazeDS, FlashBuilder4, ошибка установки привязки удаленной службы - PullRequest
0 голосов
/ 29 января 2011

Я действительно не уверен, что еще можно попробовать, любая помощь будет оценена.Спасибо

1) Я использую weblogic 10, плагин flashbuilder4 eclipse, все работает на windows xp.

2) Я развернул образцы blazeds tomcat на weblogic 10 и смог успешно привязатьего удаленное обслуживание нового проекта DataGrid в fb4, все работает отлично.

3) Затем я изменил примеры, чтобы использовать свой собственный класс Java.На последнем шаге привязки провайдера данных в fb4, когда я выбираю пункт назначения и нажимаю кнопку завершения, он говорит:

"com.hello.test.ProductSearch недоступен в указанном месте. Попробуйте выполнить импорт поОтмена выбора поиска продукта для поиска "

Я проверил, правильно ли развернуты файлы классов в weblogic, и http://localhost:7001/hello/messagebroker/amf не показывает ошибку.

Кроме того, когда я развертываю то же местоположение файла в Tomcat, он работает нормально.Итак, подведем итог: 1) Образец BlazeDS отлично работает как в weblogic10, так и в tomcat. 2) Мой com.hello.test.ProductSearch отлично работает в tomcat, но выдает ошибку выше в weblogic10.

Так что похоже проблема в weblogicразвертывание, я просто использую стандартное развертывание weblogic10 по умолчанию.Не уверен, в чем проблема, был в этом в течение нескольких дней.

------------------------------

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>
</destination>


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()]);



     }
}

АтрибутVO.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

}

1 Ответ

0 голосов
/ 31 января 2011

решаемая. Я скомпилировал java на стороне сервера, используя jdk 1.6, по-видимому, последняя версия blazeDS не совместима с 1.6 (конечно, это не говорит вам, что это будет слишком просто).

После перекомпиляции с использованием jdk 1.5 все заработало.

Поговорим о разочаровании ..

...