找不到代码页的运行时问题

2020-09-06 18:25发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


打包com.company.aifunctionalbot.javamodule;

 
//导入com.fasterxml.jackson.databind.PropertyName;
 导入com.google.gson.Gson;
 导入com.google.gson.annotations.Expose;
 导入com.google.gson.annotations.SerializedName;
//导入com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.productmaster.OperationalAcctgDocItemCube;
 导入com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.productmaster.ProductFluentHelper;
 导入com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.productmaster.Product;
 导入com.sap.cloud.sdk.s4hana.datamodel.odata.services.ProductMasterService;
 导入com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultProductMasterService;
 导入org.slf4j.Logger;

 导入javax.servlet.ServletException;
 导入javax.servlet.annotation.WebServlet;
 导入javax.servlet.http.HttpServlet;
 导入javax.servlet.http.HttpServletRequest;
 导入javax.servlet.http.HttpServletResponse;
 导入java.io.BufferedReader;
 导入java.io.IOException;
 导入java.util.List;

 导入com.sap.cloud.sdk.cloudplatform.logging.CloudLoggerFactory;
 导入com.sap.cloud.sdk.odatav2.connectivity.ODataException;

 @WebServlet("/img/hello")
 公共类HelloServlet扩展HttpServlet {

     私有静态最终长serialVersionUID = 1L;
     私有静态最终Logger logger = CloudLoggerFactory.getLogger(Product.class);

     @Override
     受保护的void doGet(最终HttpServletRequest请求,最终HttpServletResponse响应)
             引发ServletException,IOException {
             System.out.println(" Message");
         尝试{
        
             列表<产品> productResult =
                     新的DefaultProductMasterService()。getAllProduct()。select(Product.PRODUCT_TYPE,
                             产品。PRODUCT_GROUP,
                             产品(PRODUCT。)
                             .filter(Product.IS_RELEVANT_FOR_HZDS_SUBSTANCES.eq(false))
                             。执行();

             response.setContentType(" application/json");
             response.getWriter()。write(new Gson()。toJson(productResult));

         } catch(final ODataException e){
             logger.error(e.getMessage(),e);
             response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
             response.getWriter()。write(e.getMessage());
         }
     }

     @Override
     受保护的void doPost(最终HttpServletRequest请求,最终HttpServletResponse响应)抛出ServletException,IOException {
         BufferedReader reader = request.getReader();
         Gson gson =新的Gson();
         RecastData myData = gson.fromJson(阅读器,RecastData.class);

         尝试{
             实体实体= myData.getNlp()。getEntities();
             字符串property_name;

             TextResponse textResponse = new TextResponse();

             if(entities.getPropertyName()== null){
                 textResponse.setContent("嗯,我无法识别此客户");
             }其他{
                property_name =实体.getPropertyName()。get(0).getValue();
                 列表<产品> productResult =
                         新的DefaultProductMasterService()。getAllProduct()。select(
                                 产品。PRODUCT_TYPE,
                                 产品。PRODUCT_GROUP)
                                 .filter(Product.PRODUCT.eq(property_name))
                                 。执行();

                 如果(productResult.size()> 0){
                     产品oneDoc = productResult.get(0);
                     textResponse.setContent("有未清除的文档。例如文档" + oneDoc.getProductGroup()+"与公司" + oneDoc.getProductType());
                 }其他{
                     textResponse.setContent("没有未清除的文档!太好了");
                 }
             }

             ResponseWrapper responseWrapper =新的ResponseWrapper(textResponse);
             response.setContentType(" application/json");
             response.getWriter()。println(responseWrapper.getResponse());

         } catch(final ODataException e){
             logger.error(e.getMessage(),e);
             response.setContentType(" application/json");
             response.getWriter()。write(e.getMessage());
         }
     }

     静态类RecastData {
         @SerializedName(" nlp")
         @暴露
         私人Nlp nlp;

         公共Nlp getNlp(){
             返回nlp;
         }
     }

     静态类Nlp {
         @SerializedName("实体")
         @暴露
         私人实体实体;

         公共实体getEntities(){
             返回实体;
         }

         public void setEntities(实体实体){
             this.entities =实体;
         }
     }

     静态类实体{
         @SerializedName(" product_name")
         @暴露
         私有List  property_name = null;

         公共列表 getPropertyName(){
             返回property_name;
         }

         公共无效setProduct(List  property_name){
             this.property_name = property_name;
         }
    }

     静态类PropertyName {
         @SerializedName(" value")
         @暴露
         私有字符串值;
         @SerializedName(" raw")
         @暴露
         私有String raw;
         @SerializedName("信心")
         @暴露
         私有字符串置信度;

         公共字符串getValue(){
             返回值
         }

         public void setValue(String value){
             this.value =值;
         }

         公共字符串getRaw(){
             退货
         }

         公共无效setRaw(原始字符串){
             this.raw = raw;
         }

         公共字符串getConfidence(){
             恢复信心;
         }

         公共无效setConfidence(字符串的置信度){
             this.confidence =信心;
         }
     }

     静态类TextResponse {
         字符串类型="文本";
         字符串内容;

         公共字符串getResponse(){
             Gson gson =新的Gson();
             返回gson.toJson(this);
         }

         public void setContent(String content){
             this.content =内容;
         }
     }

     静态类ResponseWrapper {
         TextResponse []答复;
         对话对话;

         公共ResponseWrapper(TextResponse回复){
             this.replies = new TextResponse [] {replies};
             this.conversation =新会话(新Memory());
         }

         公共字符串getResponse(){
             Gson gson =新的Gson();
             返回gson.toJson(this);
         }

         公共内存getMemory(){
             返回对话.getMemory();
         }

         公共无效setMemory(内存内存){
             this.conversation.setMemory(memory);
         }

     }

     静态类Memory {
     }

     静态课程会话{
         内存内存;

         公众对话(记忆){
             this.memory =内存;
         }

         公共内存getMemory(){
             返回内存;
         }

         公共无效setMemory(内存内存){
             this.memory =内存;
         }
     }

  
 }  

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


打包com.company.aifunctionalbot.javamodule;

 
//导入com.fasterxml.jackson.databind.PropertyName;
 导入com.google.gson.Gson;
 导入com.google.gson.annotations.Expose;
 导入com.google.gson.annotations.SerializedName;
//导入com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.productmaster.OperationalAcctgDocItemCube;
 导入com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.productmaster.ProductFluentHelper;
 导入com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.productmaster.Product;
 导入com.sap.cloud.sdk.s4hana.datamodel.odata.services.ProductMasterService;
 导入com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultProductMasterService;
 导入org.slf4j.Logger;

 导入javax.servlet.ServletException;
 导入javax.servlet.annotation.WebServlet;
 导入javax.servlet.http.HttpServlet;
 导入javax.servlet.http.HttpServletRequest;
 导入javax.servlet.http.HttpServletResponse;
 导入java.io.BufferedReader;
 导入java.io.IOException;
 导入java.util.List;

 导入com.sap.cloud.sdk.cloudplatform.logging.CloudLoggerFactory;
 导入com.sap.cloud.sdk.odatav2.connectivity.ODataException;

 @WebServlet("/img/hello")
 公共类HelloServlet扩展HttpServlet {

     私有静态最终长serialVersionUID = 1L;
     私有静态最终Logger logger = CloudLoggerFactory.getLogger(Product.class);

     @Override
     受保护的void doGet(最终HttpServletRequest请求,最终HttpServletResponse响应)
             引发ServletException,IOException {
             System.out.println(" Message");
         尝试{
        
             列表<产品> productResult =
                     新的DefaultProductMasterService()。getAllProduct()。select(Product.PRODUCT_TYPE,
                             产品。PRODUCT_GROUP,
                             产品(PRODUCT。)
                             .filter(Product.IS_RELEVANT_FOR_HZDS_SUBSTANCES.eq(false))
                             。执行();

             response.setContentType(" application/json");
             response.getWriter()。write(new Gson()。toJson(productResult));

         } catch(final ODataException e){
             logger.error(e.getMessage(),e);
             response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
             response.getWriter()。write(e.getMessage());
         }
     }

     @Override
     受保护的void doPost(最终HttpServletRequest请求,最终HttpServletResponse响应)抛出ServletException,IOException {
         BufferedReader reader = request.getReader();
         Gson gson =新的Gson();
         RecastData myData = gson.fromJson(阅读器,RecastData.class);

         尝试{
             实体实体= myData.getNlp()。getEntities();
             字符串property_name;

             TextResponse textResponse = new TextResponse();

             if(entities.getPropertyName()== null){
                 textResponse.setContent("嗯,我无法识别此客户");
             }其他{
                property_name =实体.getPropertyName()。get(0).getValue();
                 列表<产品> productResult =
                         新的DefaultProductMasterService()。getAllProduct()。select(
                                 产品。PRODUCT_TYPE,
                                 产品。PRODUCT_GROUP)
                                 .filter(Product.PRODUCT.eq(property_name))
                                 。执行();

                 如果(productResult.size()> 0){
                     产品oneDoc = productResult.get(0);
                     textResponse.setContent("有未清除的文档。例如文档" + oneDoc.getProductGroup()+"与公司" + oneDoc.getProductType());
                 }其他{
                     textResponse.setContent("没有未清除的文档!太好了");
                 }
             }

             ResponseWrapper responseWrapper =新的ResponseWrapper(textResponse);
             response.setContentType(" application/json");
             response.getWriter()。println(responseWrapper.getResponse());

         } catch(final ODataException e){
             logger.error(e.getMessage(),e);
             response.setContentType(" application/json");
             response.getWriter()。write(e.getMessage());
         }
     }

     静态类RecastData {
         @SerializedName(" nlp")
         @暴露
         私人Nlp nlp;

         公共Nlp getNlp(){
             返回nlp;
         }
     }

     静态类Nlp {
         @SerializedName("实体")
         @暴露
         私人实体实体;

         公共实体getEntities(){
             返回实体;
         }

         public void setEntities(实体实体){
             this.entities =实体;
         }
     }

     静态类实体{
         @SerializedName(" product_name")
         @暴露
         私有List  property_name = null;

         公共列表 getPropertyName(){
             返回property_name;
         }

         公共无效setProduct(List  property_name){
             this.property_name = property_name;
         }
    }

     静态类PropertyName {
         @SerializedName(" value")
         @暴露
         私有字符串值;
         @SerializedName(" raw")
         @暴露
         私有String raw;
         @SerializedName("信心")
         @暴露
         私有字符串置信度;

         公共字符串getValue(){
             返回值
         }

         public void setValue(String value){
             this.value =值;
         }

         公共字符串getRaw(){
             退货
         }

         公共无效setRaw(原始字符串){
             this.raw = raw;
         }

         公共字符串getConfidence(){
             恢复信心;
         }

         公共无效setConfidence(字符串的置信度){
             this.confidence =信心;
         }
     }

     静态类TextResponse {
         字符串类型="文本";
         字符串内容;

         公共字符串getResponse(){
             Gson gson =新的Gson();
             返回gson.toJson(this);
         }

         public void setContent(String content){
             this.content =内容;
         }
     }

     静态类ResponseWrapper {
         TextResponse []答复;
         对话对话;

         公共ResponseWrapper(TextResponse回复){
             this.replies = new TextResponse [] {replies};
             this.conversation =新会话(新Memory());
         }

         公共字符串getResponse(){
             Gson gson =新的Gson();
             返回gson.toJson(this);
         }

         公共内存getMemory(){
             返回对话.getMemory();
         }

         公共无效setMemory(内存内存){
             this.conversation.setMemory(memory);
         }

     }

     静态类Memory {
     }

     静态课程会话{
         内存内存;

         公众对话(记忆){
             this.memory =内存;
         }

         公共内存getMemory(){
             返回内存;
         }

         公共无效setMemory(内存内存){
             this.memory =内存;
         }
     }

  
 }  
付费偷看设置
发送
3条回答
软件心理学工程师
1楼-- · 2020-09-06 19:08

丹尼斯,你好

当我尝试在Web IDE中运行上述servlet代码时,显示404未找到错误。

我也使用了ProductMaster代替了AccountingDocument API。

我在这里附上错误日志。

  dkdacf0p1sc96cienalbot-javamodule.cfapps.eu10.hana.ondemand.com-[2019-05-13T05:32:36.227 + 0000]" GET/HTTP/1.1" 404 0 0" https://webidecp-  p2001207457trial.dispatcher.hanatrial.ondemand.com/"" Mozilla/5.0(Windows NT 10.0; WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/74.0.3729.131 Safari/537.36""-"" 10.0.74.133:61016"  x_forwarded_for:"-" x_forwarded_proto:" https" vcap_request_id:" 92b822bc-5d7a-4b75-7e10-4219b6f7888d" response_time:0.183527498 app_id:" db6fcfbb-d387-4e9b-804c-e74dedb_e_alation" _x:_x_id_"  :"" a58f6c031f6cd07c" x_b3_spanid:" a58f6c031f6cd07c" x_b3_parentspanid:"-" b3:" a58f6c031f6cd07c-a58f6c031f6cd07c"

 dkdacf0p1sc96cienalbot-javamodule.cfapps.eu10.hana.ondemand.com-[2019-05-13T05:58:59.389 + 0000]" GET/HTTP/1.1" 404 0 0" https://webidecp-p2001207457trial.dispatcher.hanatrial。  ondemand.com/"" Mozilla/5.0(Windows NT 10.0; WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/74.0.3729.131 Safari/537.36""-"" 10.0.74.133:61016" x_forwarded_for:"-" x_forwarded_proto  :" https" vcap_request_id:" 2a423dd7-742d-4af7-5829-df581cebcd49" response_time:0.00622926 app_id:" db6fcfbb-d387-4e9b-804c-e74dedb1e1a6" app_index:" 0" x_correlationid:"-" x_b3_id_e_b_3_id_b3_trace  " aa1202e3401dee5f" x_b3_parentspanid:"-" b3:" aa1202e3401dee5f-aa1202e3401dee5f"  
我是小鹏鹏啊
2楼-- · 2020-09-06 18:54

您能解释一下问题所在并发布一些错误消息/日志吗?

# p #
Aaron 3364
3楼-- · 2020-09-06 18:56

抱歉,我的回复延迟。

查看日志,似乎您正在尝试访问应用程序的根目录( https://webidecp-p2001207457trial.dispatcher.hanatrial.ondemand.com /)。

但是,在您的代码中,您具有注释@WebServlet("/img/hello")。 因此(假设servlet的根路径是应用程序的根路径),结果URL不应为 https://webidecp-p2001207457trial.dispatcher.hanatrial.ondemand.com/hello 吗?

一周热门 更多>