与WSDL有关的问题(Problem with WSDL)
我最近一直在研究一个ACORD P&C兼容的Web服务,并且遇到了来自wsimport的错误,它说它无法解析其中一个xsd文件。 错误消息是:
[ERROR] Unable to parse "D:\projects\DICACORD\DicAcordQuoteRq.xsd" : Illegal character in opaque part at index 2: D:\projects\DICACORD\DicAcordQuoteRq.xsd
我创建的模式基于ACORD P&C模式(超过23K行),我只包含公司需要使用的必需元素。 我使用XMLSpy创建了模式,根据它的验证,模式是有效的,但是当我尝试在netbeans 6.8中创建Web服务时,我收到了上面的错误消息。
这些模式位于我的开发机器上,根据我在netbeans论坛上可以找到的内容,netbeans将wsdl复制到项目内部的一个目录中,以便在将它从开发移植到生产时,所有东西仍然可以像预期的那样工作。
wsdl如下
<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2010 --> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="discoveryinsurance.com/schemas" xmlns:ns="discoveryinsurance.com/schemas/acordRq" xmlns:ns1="discoveryinsurance.com/schemas/acordRs" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="discoveryinsurance.com/schemas"> <wsdl:import namespace="discoveryinsurance.com/schemas/acordRq" location="D:\projects\DICACORD\DicAcordQuoteRq.xsd"/> <wsdl:import namespace="discoveryinsurance.com/schemas/acordRs" location="D:\projects\DICACORD\DicAcordQuoteRs.xsd"/> <wsdl:types> <xs:schema targetNamespace="discoveryinsurance.com/schemas" elementFormDefault="qualified"/> </wsdl:types> <wsdl:message name="NewMessageRequest"> <wsdl:part name="parameter" element="ns:ACORD"/> </wsdl:message> <wsdl:message name="NewMessageResponse"> <wsdl:part name="parameter" element="ns1:ACORD"/> </wsdl:message> <wsdl:portType name="QuotePort"> <wsdl:operation name="QuoteRequest"> <wsdl:input name="quoteInput" message="tns:NewMessageRequest"/> <wsdl:output name="quoteOutput" message="tns:NewMessageResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="AgencyQuoteSOAP" type="tns:QuotePort"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="QuoteRequest"> <soap:operation soapAction="urn:QuoteRequest" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="AgencyQuote"> <wsdl:port name="QuotePort" binding="tns:AgencyQuoteSOAP"> <soap:address location="http://localhost:8084/DicQuoteSvc/AgencyQuote"/> </wsdl:port> </wsdl:service>
我觉得这与命名空间有关,但我不确定。 这也是我第一次试图以这种方式创建Web服务,因为我认为我会为自己节省一些开发时间。
我试着用google搜索错误信息,并且我读的所有内容都指向了不正确的URI。 我在想,XMLSpy的验证会捕获这样的错误,但如果这是问题,那么它不会捕获它。
任何帮助将不胜感激,我很乐意提供任何其他我需要的信息。
I've recently been working on an ACORD P&C compliant web service and have run into some trouble with errors from wsimport saying it is unable to parse one of the xsd files. The error message is:
[ERROR] Unable to parse "D:\projects\DICACORD\DicAcordQuoteRq.xsd" : Illegal character in opaque part at index 2: D:\projects\DICACORD\DicAcordQuoteRq.xsd
The schema I have created is based off of the ACORD P&C schema(over 23k lines) and I have only included the required elements that the company needs to use. I created the schemas using XMLSpy and according to its validation the schemas are valid but when I try to create the web service in netbeans 6.8 I get the error message above.
The schemas are on my development machine and according to what I can find on the netbeans forums netbeans copies the wsdl into a directory inside of the project so that when you move it to from development to production everything still works like it's supposed to.
The wsdl is as follows
<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2010 --> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="discoveryinsurance.com/schemas" xmlns:ns="discoveryinsurance.com/schemas/acordRq" xmlns:ns1="discoveryinsurance.com/schemas/acordRs" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="discoveryinsurance.com/schemas"> <wsdl:import namespace="discoveryinsurance.com/schemas/acordRq" location="D:\projects\DICACORD\DicAcordQuoteRq.xsd"/> <wsdl:import namespace="discoveryinsurance.com/schemas/acordRs" location="D:\projects\DICACORD\DicAcordQuoteRs.xsd"/> <wsdl:types> <xs:schema targetNamespace="discoveryinsurance.com/schemas" elementFormDefault="qualified"/> </wsdl:types> <wsdl:message name="NewMessageRequest"> <wsdl:part name="parameter" element="ns:ACORD"/> </wsdl:message> <wsdl:message name="NewMessageResponse"> <wsdl:part name="parameter" element="ns1:ACORD"/> </wsdl:message> <wsdl:portType name="QuotePort"> <wsdl:operation name="QuoteRequest"> <wsdl:input name="quoteInput" message="tns:NewMessageRequest"/> <wsdl:output name="quoteOutput" message="tns:NewMessageResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="AgencyQuoteSOAP" type="tns:QuotePort"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="QuoteRequest"> <soap:operation soapAction="urn:QuoteRequest" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="AgencyQuote"> <wsdl:port name="QuotePort" binding="tns:AgencyQuoteSOAP"> <soap:address location="http://localhost:8084/DicQuoteSvc/AgencyQuote"/> </wsdl:port> </wsdl:service>
I feel like it's something to do with the namespaces but I'm not sure. This is also the first time I have tried to create a web service this way because I thought I would be saving myself some development time.
I've tried googling the error message and everything I have read points to an incorrect URI. I was thinking that XMLSpy's validation would catch an error like that but if that is the problem then it does not catch it.
Any help would be greatly appreciated and I'll be happy to provide any other needed information that I can.
原文:https://stackoverflow.com/questions/1910739
最满意答案
@HostListener('mousedown', ['$event']) blockMouseDown(e: MouseEvent) { e.preventDefault(); }
我希望它可能有所帮助。
I got it by guess. It is working.
@HostListener('drop', ['$event']) blockDrop(e: MouseEvent) { e.preventDefault(); }
相关问答
更多-
Cloudinary和Angular2(Cloudinary and Angular2)[2023-06-25]
UPDATE Cloudinary刚刚发布了一个Angular 2.0库。 您可以在Angular Git 仓库的angular_next分支中找到源代码。 您也可以使用名称为@cloudinary/angular npm或yarn安装它。 npm install @cloudinary/angular 有关更多信息,请访问: http : //cloudinary.com/blog/new_angular_sdk_for_image_management_more_than_meets_the_eye U ... -
@HostListener('mousedown', ['$event']) blockMouseDown(e: MouseEvent) { e.preventDefault(); } 我希望它可能有所帮助。 I got it by guess. It is working. @HostListener('drop', ['$event']) blockDrop(e: MouseEvent) { e.preventDefault(); }
-
而不是@Input() hit: any = {}; 你可以有一个getter和一个setter for hit : private _hit; // define a private variable _hit @Input() set hit(hit:any){ this._hit = hit; // set the private variable and do whatever you want after each change playSomeSound(hit); } ...
-
如何在ngDraggable angular js中停止click事件?(How to stop click event in ngDraggable angular js?)[2022-07-27]
在onClick / ng-click中添加event.preventDefault和event.stopPropagation Add event.preventDefault and event.stopPropagation in the onClick/ng-click -
angular ui-sortable:在Firefox中停止点击事件(angular ui-sortable: Stop click event on drop in Firefox)[2022-08-15]
使用: vm.sortableOptions = { helper: 'clone' }; 它告诉模块使用克隆进行拖动,这也会禁用所有触发的事件。 我检查了火狐浏览器,它完美的工作。 Use: vm.sortableOptions = { helper: 'clone' }; It tells the module to use a clone for the drag, which also disable all the events fired. I checked in Fire ... -
您正在查找的值位于$event.target ,您可以使用$event.target.value获取它,请参阅下面的示例。 navSelected($event) { console.log($event.target.value + " Clicked!"); } 如果你正在寻找获得选项的选定文本,你可以这样做 navSelected($event) { let selectElement = $event.target; var optionIndex = selectElem ...
-
问题是,在此行引用它时(即“this”关键字),您将丢失方法的上下文: window.onmousemove = this.dragHanlder; 这样this将引用Window : dragHanlder(event: MouseEvent) { if (this.isDragging) { <== this === Window 您可以利用箭头功能来保留this : window.onmousemove = (e) => this.dragHanlder(e); window.onmous ...
-
问题实际上非常简单:因为您使用自定义元素sm-cmd浏览器不知道要使用哪种渲染模型(块或内联)。 默认情况下,它应用内联一,这会导致元素维度的冲突,因为内嵌sm-cmd内部有块级别p 。 因此浏览器无法正确计算块尺寸。 所以解决方案是这个简单的CSS规则: sm-cmd {display: block;} 还要确保在ngAfterViewInit钩子中初始化jQuery插件: @Directive({ selector: "[sm-sortable]" }) export class SMSortab ...
-
Angular2拖放目标(Angular2 Drag and Drop Target)[2023-01-27]
以为我会来完成这个问题 - 我使用了错误的事件处理函数 - 尝试从dragover上的事件中获取数据是我不打算做的事情。 ondrop函数是正确的使用和工作,正是我期待它。 Thought I'd come and complete this question - I was using the wrong event handler function - trying to get the data from the event on dragover was something that I wasn' ... -
对于angular2,实现拖放非常简单:以下是您可以在angular2中实现拖放的替代方法。 NG2-dragula angular2网 我个人会选择ng2-dragula,因为它提供了更多的功能,如拖拉模型和更多的造型。 希望这可以帮助。 For angular2 , implementing drag and drop is made quite simple: Following are the alternatives that you can go for implementing drag an ...