小编Evg*_*dev的帖子

如何将Unicode编码的字符串转换为字母串

我有一个Unicode编码的字符串\uXXXX,我想将它转换为常规字母(UTF-8).例如:

String myString = "\u0048\u0065\u006C\u006C\u006F World";
Run Code Online (Sandbox Code Playgroud)

应该成为

"Hello World"
Run Code Online (Sandbox Code Playgroud)

我知道当我打印它显示的字符串时Hello world.我的问题是我从Unix机器上的文件中读取文件名,然后我搜索它们.文件名使用Unicode编码,当我搜索文件时,我找不到它们,因为它搜索\uXXXX名称中的文件.

java unicode encoding

63
推荐指数
9
解决办法
20万
查看次数

如何使用Spring Boot + Angular 2项目中的Gradle build将静态文件添加到jar

我有一个Spring Boot + Angular 2项目.我想将它部署到Heroku.我能够运行npm构建,然后手动将生成的文件复制到公共文件夹(src/resources/public),然后运行后端构建.我想要做的是设置一个gradle构建,它将立即完成所有这些.到目前为止我所拥有的是一个gradle构建,它将构建前端,构建后端,但是在生成jar之前它不会复制静态文件.由于jar不包含所述静态文件,因此它不适用于Heroku.

这是项目文件夹结构:

root
 backend
  src/main/java
  src/main/resources
 frontend
  --> angular files go here
 build/libs -> where the JAR file goes
Run Code Online (Sandbox Code Playgroud)

gradle构建文件:

buildscript {
repositories {
    mavenCentral()
}
dependencies {
    // spring
    classpath('org.springframework.boot:spring-boot-gradle-plugin:1.5.2.RELEASE')
    classpath('org.springframework:springloaded:1.2.6.RELEASE')
    }
}

plugins {
    id "com.moowork.node" version "1.2.0"
}

// gradle wrapper
task wrapper(type: Wrapper) {
    gradleVersion = '3.4'
}

// configure gradle-node-plugin
node {
    version = '8.1.4'
    npmVersion = '5.0.3'
    download = true
    workDir = file("${project.projectDir}/node")
    nodeModulesDir = file("${project.projectDir}/")
}

// clean node/node_modules/dist …
Run Code Online (Sandbox Code Playgroud)

java heroku gradle spring-boot angular

7
推荐指数
2
解决办法
8567
查看次数

Axis:createCall with params

我使用基于Magento WSDL(http:// host/api?wsdl)的wsdl2java生成了java代码,但无法使用params调用任何过程

环境:

  • JDK 1.8
  • AXIS 1.4
  • PHP 5.6
  • Magento 1.6

问题:

例如,product.info api方法需要2个参数:sessionIdproductId

码:

MagentoService magentoService = new MagentoServiceLocator();
Mage_Api_Model_Server_HandlerBindingStub service = new Mage_Api_Model_Server_HandlerBindingStub(new URL("http://myhost/api"), magentoService);

String sessionId = service.login("api-user", "AAAAAAAAAAAAAAAA");

Call serviceCall = service.createCall();
serviceCall.setOperationName(new QName("call"));
serviceCall.setTargetEndpointAddress(new URL("http://myhost/api"));
serviceCall.addParameter("sessionId", Constants.XSD_STRING, ParameterMode.IN);
serviceCall.addParameter("resourcePath", Constants.XSD_STRING, ParameterMode.IN);
serviceCall.addParameter("productId", Constants.XSD_STRING, ParameterMode.IN);
serviceCall.setReturnType(Constants.SOAP_MAP);
serviceCall.invoke("call", new Object[] {sessionId, "product.info", new Object[]{2115}});    
Run Code Online (Sandbox Code Playgroud)

我查了数据库,产品确实存在.无论使用哪个ID,我都会收到错误:

AxisFault
 faultCode: 101
 faultString: Product not exists.
Run Code Online (Sandbox Code Playgroud)

我尝试另一种api方法,如customer.info,并得到相同的结果.

如何正确传递参数?

我做了什么:

java axis soap wsdl magento

5
推荐指数
1
解决办法
370
查看次数

标签 统计

java ×3

angular ×1

axis ×1

encoding ×1

gradle ×1

heroku ×1

magento ×1

soap ×1

spring-boot ×1

unicode ×1

wsdl ×1