Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java WSDL导入在两个类之间切换以获得相同的函数返回_Java_Delphi_Soap_Wsdl - Fatal编程技术网

Java WSDL导入在两个类之间切换以获得相同的函数返回

Java WSDL导入在两个类之间切换以获得相同的函数返回,java,delphi,soap,wsdl,Java,Delphi,Soap,Wsdl,我现在正在使用Java和Delphi,并且正在使用Java中的服务类,该类将用于WSDL导入Delphi。java代码中有一个函数,返回NameAndID的类型。NameAndID基本上就是一个存储int-ID和字符串名的对象。但服务中使用了两个不同的名称和ID。一个是nameandd,另一个是nameandd。它们是在不同的Java文件中创建的,但在我的服务中,它们都在不同的函数中被引用。我遇到的问题是,当我导入WSDL并在delphi中重新创建服务文件时,我的函数的返回类型将在两个不同的na

我现在正在使用Java和Delphi,并且正在使用Java中的服务类,该类将用于WSDL导入Delphi。java代码中有一个函数,返回NameAndID的类型。NameAndID基本上就是一个存储int-ID和字符串名的对象。但服务中使用了两个不同的名称和ID。一个是nameandd,另一个是nameandd。它们是在不同的Java文件中创建的,但在我的服务中,它们都在不同的函数中被引用。我遇到的问题是,当我导入WSDL并在delphi中重新创建服务文件时,我的函数的返回类型将在两个不同的nameandid对象之间发生变化,如下例所示:

导入1: getNameIDFromCAA()返回NameAndID

导入2: getNameIDFromCAA()返回NameAndID2

这种情况发生时,我不会更改与nameandid对象或函数getNameIDFromCAA()有关的任何内容


我假设这可能是由于在同一个服务中使用了两个不同的名称和ID对象,但对象名称的大小写稍有不同,但我想看看是否有其他人可以确认或有过此类问题的经验。

我注意到,事实上这是由于在我使用时对两个对象进行了命名怀疑。我重命名了其中一个NameAndId对象,导入WSDL后,所有内容都得到了解决,很容易区分这两个对象。由于delphi IDE不区分大小写,这在某种程度上是我所期望的行为。

在delphi项目中导入WSDL时,取消选中WSDL导入选项中的
为纯集合元素生成别名(-Or)
选项


现在你的IDE不会用ClassNameClassName2等复制你的对象。

现在我想你是对的。我想我再次被难住了,为什么delphi中的函数会切换返回的类型,因为Java和XML都是区分大小写的,它们应该能够区分这两个NameAndID结构。在Delphi中,这两个结构以不同的名称显示(一个以2结尾,如我的问题中的示例所示),因此很明显这两个结构有所不同,但当java中的函数明确引用另一个时,我的函数最终返回错误的NameAndID结构。