SOAPUI未对响应应用漂亮打印格式

4

如何以格式化的Xml格式获取响应。

编码没有问题并且可以获得所有响应,但是响应以未应用美观打印格式的单行形式显示。

请求Xml

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://ctsnis.att.com/ticket/v1" xmlns:v3="http://cio.att.com/commonheader/v3">
   <soapenv:Header>
      <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken>
            <wsse:Username>Test_User</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">!TestInterface!</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
      <wsh:WSHeader xmlns:wsh="http://cio.att.com/commonheader/v3">
         <wsh:WSContext>
            <wsh:FromAppId>Test_User</wsh:FromAppId>
            <wsh:SourceIPAddress>test</wsh:SourceIPAddress>
         </wsh:WSContext>
      </wsh:WSHeader>
   </soapenv:Header>
   <soapenv:Body>
      <v1:ListNotificationDetailsRequest>
         <v3:WSHeader>
            <!--Optional:-->
            <v3:WSEndUserToken>
               <!--Optional:-->
               <v3:Token>?</v3:Token>
               <!--Optional:-->
               <v3:TokenType>?</v3:TokenType>
               <!--Zero or more repetitions:-->
               <v3:WSNameValue>
                  <v3:Name>?</v3:Name>
                  <v3:Value>?</v3:Value>
               </v3:WSNameValue>
            </v3:WSEndUserToken>
            <!--Optional:-->
            <v3:WSContext>
               <!--Optional:-->
               <v3:FromAppId>?</v3:FromAppId>
               <!--Optional:-->
               <v3:ToAppId>?</v3:ToAppId>
               <!--Optional:-->
               <v3:Version>
                  <v3:major>?</v3:major>
                  <v3:minor>?</v3:minor>
               </v3:Version>
               <!--Optional:-->
               <v3:SourceIPAddress>?</v3:SourceIPAddress>
               <!--Zero or more repetitions:-->
               <v3:WSNameValue>
                  <v3:Name>?</v3:Name>
                  <v3:Value>?</v3:Value>
               </v3:WSNameValue>
            </v3:WSContext>
            <!--Optional:-->
            <v3:WSCallback>
               <!--Optional:-->
               <v3:URL>?</v3:URL>
               <!--Optional:-->
               <v3:WSCorrelationId>?</v3:WSCorrelationId>
               <!--Optional:-->
               <v3:FaultURL>?</v3:FaultURL>
            </v3:WSCallback>
            <!--Optional:-->
            <v3:WSConversationId>?</v3:WSConversationId>
            <!--Optional:-->
            <v3:WSMessageData>
               <!--Optional:-->
               <v3:MessageId>?</v3:MessageId>
               <!--Optional:-->
               <v3:RefToMessageId>?</v3:RefToMessageId>
               <!--Optional:-->
               <v3:Timestamp>?</v3:Timestamp>
            </v3:WSMessageData>
            <!--Optional:-->
            <v3:WSResponseMessageExpiration>?</v3:WSResponseMessageExpiration>
            <!--Optional:-->
            <v3:WSEnterpriseLogging>
               <!--Optional:-->
               <v3:ApplicationID>?</v3:ApplicationID>
               <!--Optional:-->
               <v3:LoggingKey>?</v3:LoggingKey>
            </v3:WSEnterpriseLogging>
         </v3:WSHeader>
         <v1:TicketNumber>5671671618722</v1:TicketNumber>
      </v1:ListNotificationDetailsRequest>
   </soapenv:Body>
</soapenv:Envelope>

响应XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns2:ListNotificationDetailsResponse xmlns="http://cio.att.com/commonheader/v3" xmlns:ns2="http://ctsnis.att.com/ticket/v1"><ns2:ListNotificationDetails><ns2:NotificationDetailsList><ns2:NotificationID>NTMW00127101576</ns2:NotificationID><ns2:SourceID>8888999999</ns2:SourceID><ns2:CUID>zz8000</ns2:CUID><ns2:When>1410053628</ns2:When><ns2:Message>Ticket found in corresponding table. we can use this ticket for further purpose</ns2:Message><ns2:SourceSchemaName>FMS-TroubleTicket</ns2:SourceSchemaName><ns2:Region>SOUTHEAST</ns2:Region><ns2:Market>JACKSONVILLE-PANHANDLE</ns2:Market><ns2:District>ALL</ns2:District><ns2:Zone>ALL</ns2:Zone><ns2:CreateDate>2014-09-07T01:34:05.000Z</ns2:CreateDate><ns2:LastModifiedBy>AR_ESCALATOR</ns2:LastModifiedBy><ns2:ModifiedDate>2014-09-07T01:34:05.000Z</ns2:ModifiedDate><ns2:MethodList/><ns2:Status>Fail</ns2:Status><ns2:NotificationType><ns2:Individual>INDIVIDUAL</ns2:Individual></ns2:NotificationType><ns2:Log>1410053645AR_ESCALATORNo notification sent. No notification method selected.</ns2:Log><ns2:SubmittedBy>AR_ESCALATOR</ns2:SubmittedBy></ns2:NotificationDetailsList></ns2:ListNotificationDetails></ns2:ListNotificationDetailsResponse></soapenv:Body></soapenv:Envelope>

考虑 Google:如何格式化 XML - DwB
2个回答

6
您的问题不是很清楚,我猜想当您说您的 xml 是“未格式化的”时,您想要应用pretty-printhttp://en.wikipedia.org/wiki/Prettyprint)使您的 xml 美观易读。
在SOAPUI中,您有以下两个选项来实现响应的pretty-print
1.右键单击响应面板并选择Format XMLenter image description here 2.另一个选项是设置TestRequest PropertiesPretty print属性,以自动将响应格式化为pretty-print格式: enter image description here 请注意,只有当XML格式正确时,pretty-print才能正常工作。如果XML格式不正确(缺少标签、未正确关闭等),SOAPUI无法进行pretty-print
希望这可以帮到您,

4
在我的Soap UI设置中已经设置为Pretty Print。但响应是未格式化的XML格式,而且右键单击响应并选择formattedxml,但仍然存在同样的问题。 已在我的Soap UI设置中开启了Pretty Print选项,但响应仍以未格式化的XML格式显示。尝试右键单击响应并选择“formattedxml”选项,但问题仍然存在。请帮我解决这个问题。 - Jagadeeshwaran Kuppuraj
只有当XML格式不正确(缺少标签,未正确关闭等)时,SOAPUI才无法“漂亮地打印”它。但是您的XML响应格式正确(至少是您在问题中展示的响应),我尝试使用它并在SOAPUI中“漂亮地打印”,它可以正常工作,这很奇怪,或者您正在使用一个格式不正确的不同响应,或者您的SOAPUI版本存在一些错误(我不认为会出现这种情况)。 - albciff

2

只是回答一下,强调验证。

在SoapUI 5.3.0上

Right click on the xml --> Format XML

如果仍然无法正常工作,甚至一个空格也可能是问题(我的情况)。

Right click on the xml --> Validate

修正控制台中显示的错误。例如:

line -1: error: Whitespace missing after attribute value 

(意思是-> 属性="值"<需要空格>属性="值"

然后再试着格式化一下:

Right click on the xml --> Format XML

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接