2013-08-26 6 views
0

Я сделал приложение для работы с worklight6.0.0, в котором есть несколько адаптеров HTTP, которые отлично работают с моим профилем свободы в eclipse.Развертывание приложения Worklight в производственной среде

теперь я хочу, чтобы транспортировать это приложение к WEBSPHERE 8.0.0.6 среде, но когда я сделал, что я получаю это сообщение в catlog:

info: {"challenges":{"wl_antiXSRFRealm":{"WL-Instance-Id":"ajjqfhmo88gqmm955r2p22vq7j"}}}*/ 

error: defaultOptions:onFailure Procedure invocation error. 

и это еще одна ошибка:

[Http://190.246.205.5:9081/WorklightPocProj/apps/services/../../invoke] failure. state: 500, response: The server was unable to process the request from the application. Please try again later. 

defaultOptions:onFailure The server was unable to process the request from the application. Please try again later. 

Я положил звонок на wlinit на фиктивный адаптер, и ответ был правильным, эта ошибка, которую приложение мне дает, происходит сразу после того, как я вызываю этот метод:

обработчик.сумитАда pterAuthentication (invocationData, {});

Так что я изменил worklight.properties и переотложил .war, тогда я развернул это .war на WAS и установил all.wlapp и все файлы .adapter. , и я могу видеть весь файл, развернутый в моей консоли подсветки, и мое приложение Android правильно подключается к серверу подсветки.

В этом .war у меня есть другое приложение (приложение facebook), которое не имеет адаптера и прекрасно работает ,

Это мой код царство:

<securityTests> 
    <!-- 
    <customSecurityTest name="WorklightConsole"> 
     <test realm="WorklightConsole" isInternalUserID="true"/> 
    </customSecurityTest> 

    <mobileSecurityTest name="mobileTests"> 
     <testAppAuthenticity/> 
     <testDeviceId provisioningType="none" /> 
     <testUser realm="myMobileLoginForm" /> 
    </mobileSecurityTest> 

    <webSecurityTest name="webTests"> 
     <testUser realm="myWebLoginForm"/> 
    </webSecurityTest> 

    <customSecurityTest name="customTests"> 
     <test realm="wl_antiXSRFRealm" step="1"/> 
     <test realm="wl_authenticityRealm" step="1"/> 
     <test realm="wl_remoteDisableRealm" step="1"/> 
     <test realm="wl_anonymousUserRealm" isInternalUserID="true" step="1"/> 
     <test realm="wl_deviceNoProvisioningRealm" isInternalDeviceID="true" step="2"/> 
    </customSecurityTest> 
    --> 
    <customSecurityTest name="SubscribeServlet"> 
     <test realm="SubscribeServlet" isInternalUserID="true"/> 
    </customSecurityTest> 
    <customSecurityTest name="SimpleAuthAdapterTest"> 
     <test realm="SimpleAuthRealm" isInternalUserID="true" /> 

    </customSecurityTest>  

</securityTests> 

<realms> 
    <realm name="SampleAppRealm" loginModule="StrongDummy"> 
     <className>com.worklight.core.auth.ext.FormBasedAuthenticator</className> 
    </realm> 

    <realm name="WorklightConsole" loginModule="requireLogin"> 
     <className>com.worklight.core.auth.ext.FormBasedAuthenticator</className> 
     <onLoginUrl>/console</onLoginUrl> 
    </realm> 
    <realm name="SimpleAuthRealm" loginModule="SimpleAuthLoginModule"> 
     <className>com.worklight.integration.auth.AdapterAuthenticator</className> 
     <parameter name="login-function" value="SimpleAuthAdapter.onAuthRequired" /> 
     <parameter name="logout-function" value="SimpleAuthAdapter.onLogout" /> 
    </realm> 
    <realm name="SubscribeServlet" loginModule="rejectAll"> 
     <className>com.worklight.core.auth.ext.HeaderAuthenticator</className>   
    </realm> 
    <!-- For websphere --> 
    <!-- realm name="WASLTPARealm" loginModule="WASLTPAModule"> 
     <className>com.worklight.core.auth.ext.WebSphereFormBasedAuthenticator</className> 
     <parameter name="login-page" value="/login.html"/> 
     <parameter name="error-page" value="/loginError.html"/> 
    </realm --> 
</realms> 

<loginModules> 
<loginModule name="SimpleAuthLoginModule"> 
     <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className> 
    </loginModule> 
    <loginModule name="StrongDummy"> 
     <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className> 
    </loginModule> 

    <loginModule name="requireLogin"> 
     <className>com.worklight.core.auth.ext.SingleIdentityLoginModule</className> 
    </loginModule> 

    <loginModule name="rejectAll"> 
     <className>com.worklight.core.auth.ext.RejectingLoginModule</className> 
    </loginModule> 

    <!-- For websphere --> 
    <!-- loginModule name="WASLTPAModule"> 
     <className>com.worklight.core.auth.ext.WebSphereLoginModule</className> 
    </loginModule --> 

    <!-- For enabling SSO with no-provisioning device authentication --> 
    <!-- <loginModule name="MySSO" ssoDeviceLoginModule="WLDeviceNoProvisioningLoginModule"> 
     <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className> 
    </loginModule> --> 
    <!-- For enabling SSO with auto-provisioning device authentication --> 
    <!-- <loginModule name="MySSO" ssoDeviceLoginModule="WLDeviceAutoProvisioningLoginModule"> 
     <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className> 
    </loginModule> --> 
</loginModules> 

и это моя часть моего кода ChallengeHandler:

var handler = WL.Client.createChallengeHandler("SimpleAuthRealm"); 
var busyInd; 
function login() { 
busyInd = new WL.BusyIndicator('content', { 
    text : 'Verificando credenciales...' 
}); 
busyInd.show(); 

var username = $('#AuthUsername').val(); 
var password = $('#AuthPassword').val(); 
usuario1 = username; 
password1 = password; 
var invocationData = { 
    adapter : "SimpleAuthAdapter", 
    procedure : "submitAuthentication", 
    parameters : [ "Basic " + Base64.encode(username + ":" + password), 
      username ] 
}; 

handler.submitAdapterAuthentication(invocationData, {}); 
}; 

Есть ли что-то, что я пропускаю, или я делаю неправильно?

ответ

1

Решение: эта ошибка возникает из-за того, что безопасность приложения была включена на сервере, не устанавливая никакой роли в файле web.xml.