Pergunta

Estou tendo problemas com jQuery.O que é estranho, porém, é que ele funcionará em um contêiner da web, mas não em outro.Meu problema é que estou fazendo uma chamada AJAX para o back-end, mas ele não consegue construir o URI correto (só faz isso no Oracle Weblogic, foi testado e funciona no Tomcat 7 e no Wildfly).

Então, essencialmente, meu código fica assim:

$.get(
    "api/data/drawing?drawing=1&user=anon",
    {},
    function(data) {
        ...
    });

No Wildfly e no Tomcat ele chamará corretamente a URL:

http://192.168.1.100:8080/MyApp/api/data/drawing?drawing=1&user=anon

Mas no Weblogic ele chamará:

http://192.168.1.100:8080/api/data/drawing?drawing=1&user=anon

Embora o aplicativo esteja realmente mapeado para /MyApp (que é o ID do artefato da guerra).Posso dizer porque recursos estáticos como imagens e links apontarão para o uri correto.

Estou sem opções agora porque estamos em uma crise.Eu adoraria dizer que não use o Weblogic ou codifique os URLs, mas isso me parece hackeado.E mais ainda, se o cliente realocar o servidor web, teremos problemas.Por favor me ajude a descobrir isso =(.Imagino que seja um problema do Weblogic (ou talvez o servidor não esteja configurado corretamente) e não um problema com meu código.Então, eu sei que você pode não ser capaz de me ajudar, mas vale a pena tentar, certo?Desde já, obrigado!

Foi útil?

Solução

Parece que você não definiu seu context-root para sua aplicação no Weblogic.Você desejará configurá-lo em seu application.xml ou weblogic.xml:

<weblogic-web-app
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app
        http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd"
    xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
    <context-root>MyApp</context-root>
</weblogic-web-app>

Você pode ver alguns bons exemplos aqui no Documentos Oracle

Outras dicas

Você poderia simplesmente definir uma variável para um baseURL:

var baseUrl = "http://192.168.1.100:8080/MyApp/";

$.get(
 baseUrl + "api/data/drawing?drawing=1&user=anon",
{},
function(data) {
    ...
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top