Netbeans中的新WebMethod无法被PHP客户端调用

时间:2017-06-09 21:31:07

标签: java web-services netbeans glassfish webmethod

我试着整天解决这个问题,我不明白。 我试图在Web服务中创建一个新的Web模块。我使用NetBeans和GlassFish。当我使用测试服务测试web方法时,它可以工作。但是当我尝试从php客户端调用它时,我不能。 已经有另一个运行良好的Web模块,我可以从客户端调用它们。一旦我改名,我就不能再打电话给他们了。 我不知道。 谢谢你回答。

php使用者

<?php
session_start();

function affiche()
    {
    $UEopt = new SoapClient("localhost:8080/UEOptionnelles/UEoptWebService?wsdl");
    $result = $UEopt->listSemestre(array(
        "Nom" => ""
    )); // On affiche le resultat de l'appel du web service
    for ($i = 0; $i < count($result->return) / 5; $i++)
        {
        echo "<pre>";
        echo "\n <u>Nom</u> : ";
        print_r($result->return[1 + ($i * 5) ]);
        echo " - <u>Parcours</u> : ";
        print_r($result->return[2 + ($i * 5) ]);
        echo " - <u>Année</u> : ";
        print_r($result->return[3 + ($i * 5) ]);
        echo "</pre>";
        }
    }

的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="w3.org/2001/XMLSchema-instance" xsi:schemaLocation="xmlns.jcp.org/xml/ns/javaee xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
   <session-config>
      <session-timeout>30</session-timeout>
   </session-config>
</web-app>

java服务定义

 /**
 * Méthode listUE
 */
 @WebMethod(operationName = "listUEParEtu")
public List listUEParEtu(@WebParam(name = "Nom") Integer NumEtu) {
    // chargement du driver SqLite
    try {
        Class.forName("org.sqlite.JDBC");
        System.out.println(" driver SqLite ok");
    } catch (ClassNotFoundException e) {
        System.out.println("Impossible de charger le driver SqLite.");
    }
    try 
    {
    // chargement de la base     
        String chemin=this.getClass().getResource("/NetBeans.db").getPath();
        System.out.println(chemin);
        Connection connection2=DriverManager.getConnection("jdbc:sqlite:"+chemin);
        //String requete = "SELECT * FROM UE "
        //        +"WHERE NomUE like '%"+NumEtu+"%';";
        String requete = "SELECT * FROM Choix "
                + "WHERE  Choix.idUtilisateur='"+ NumEtu +"' ;";

        Statement statement2= connection2.createStatement();
        ResultSet executeQuery=statement2.executeQuery(requete);

0 个答案:

没有答案